使用适用于 Android 的 Google Maps API 时,坐标以经度和纬度返回。需要将这些值换算成米。是否有任何图书馆可以避免重新发明轮子?我用 Java 编写。
Denis's questions
任务是将 Yandex 地图添加到移动应用程序。在查找资料的过程中,我发现这可以通过两种方式完成:Yandex Map Kit 和 Yandex Maps API。他们有什么区别?以下哪个更适合用于 Android 移动应用程序?我在 Android Studio 工作并用 Java 编写。
代码中需要跟踪搜索字符串 - 的结束SearchView。我用 跟踪打开setOnSearchClickListener,这种方法不会导致问题,但跟踪关闭不起作用。以下是 close 的侦听器代码SearchView:
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
Toast toast = Toast.makeText(getApplicationContext(),"Закрыто", Toast.LENGTH_SHORT);
toast.show();
return false;
}
});
我在 Internet 上找到了使用onMenuItemActionExpand和方法的示例onMenuItemActionCollapse,但这不是我需要的。你能告诉我如何使用谷歌文档SearchView中提供的方法制作一个正常的关闭监听器吗?
当您创建一个列表并用单词填充它时,它们会自动左对齐。有没有办法进行中心对齐?
列表视图说明:
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/version"
android:layout_centerHorizontal="true"
android:id="@+id/about_list" />
用数据填充它:
listView = (ListView)findViewById(R.id.about_list);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, R.layout.element_of_about, getResources().getStringArray(R.array.about_choose));
listView.setAdapter(adapter);
自定义标记视图 textview(element_of_about):
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:text="Пробный текст"
style="@style/text_of_breed"
android:padding="10dp"
android:textSize="17sp"/>
使用这些设置,文本仍然位于左侧。
我正在尝试创建一个基于来自多个数据库列的数据形成的唯一索引。但是在描述表格时存在语法错误。这是表格代码:
CREATE TABLE [dbo].[People_list] (
[GUID] UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(),
[№] NVARCHAR(50) NOT NULL,
[ФИО] NVARCHAR (60) NOT NULL
PRIMARY KEY CLUSTERED ([№] ASC));
CREATE UNIQUE INDEX [indx] ON [People_list] ([ФИО] ASC, [№] **ASC);**
**);**
在粗体标记的地方,visual studio 会写入以下错误:";" 附近的语法不正确 (在第一种情况下)和“)”(在第二种情况下)。
如何修复这些错误?感谢你的回答。
我用 C# 编写了一个与 MS SQL 数据库一起使用的应用程序。如果我将应用程序转移到另一台计算机并尝试运行它,则它不起作用。我没有工作的数据库。如何确保程序在不同计算机上启动时,数据库会自动安装?
使用Insert函数我想往数据库中添加数据,但是出现如下错误:
System.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near '№'.
这是可执行代码。
public void Insert(string num, string index, string fio, string city, string date)
{
string sql = string.Format("INSERT People_list" +
"(№, Индекс, ФИО, Адрес, Дата) Values(@№, @Индекс, @ФИО, @Адрес, @Дата)");
using (SqlCommand cmd = new SqlCommand(sql, this.connect))
{
cmd.Parameters.AddWithValue("@№", num);
cmd.Parameters.AddWithValue("@Индекс", index);
cmd.Parameters.AddWithValue("@ФИО", fio);
cmd.Parameters.AddWithValue("@Адрес", city);
cmd.Parameters.AddWithValue("@Дата", date);
try
{
cmd.ExecuteNonQuery();
}
catch (SqlException odbcEx)
{
Console.WriteLine("Возникли проблемы с функцией Insert = " + odbcEx);
}
}
}
预先感谢您的回复。
我在 Android Studio 工作了大约一年,最近我发现有这样一个程序——Xamarin。在此程序中,您可以同时为Android、iOS 和WP 编写。
这个程序在编译后优化了多少应用程序?例如,我在 AS 中编写了一个程序,在 Xamarin 中编写了完全相同的程序。这些程序在占用空间、RAM 消耗方面会有很大差异吗?尽管如此,AS 最初是为在 Android 上编写应用程序而创建的,而 Xamarin 以某种方式改造了代码本身。
哪种语言更适合编写 - Java 还是 C#?
我创建了一个特定的视图元素,代码如下:
public class PersonViewHolder extends RecyclerView.ViewHolder {
ImageView personPhoto;
ImageButton personLike;
PersonViewHolder(View itemView) {
super(itemView);
personPhoto = (ImageView)itemView.findViewById(R.id.person_photo);
personLike = (ImageButton)itemView.findViewById(R.id.btn_like);
}
}
在 onBindViewHolder 方法中,值被设置为 personViewHolder.personPhoto 元素:
@Override
public void onBindViewHolder(PersonViewHolder personViewHolder, int i) { Glide.with(personViewHolder.personAge.getContext()).load(dogs.get(i).photoId).into(personViewHolder.personPhoto);}
接下来,在 AsyncTask 中,执行我需要的任务,在 onPostExecute 方法中,我想将图像设置到 personViewHolder.personLike 元素:
public final class like_set extends AsyncTask<Integer , Void, String> {
@Override
protected String doInBackground(Integer ... arg) {
String res = "1";
return res;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if ( result.equals("1"))
{Glide.with(personViewHolder.personLike.getContext()).load(R.drawable.like_red).into(personViewHolder.personLike);
}
else
{
}
}
}
但是在onPostExecute中访问personViewHolder这一行时出现“Cannot resolve symbol personViewHolder”的错误。
如何通过此方法将图像设置到我的视图元素 PersonViewHolder 中?
我有一个占用 3.8MB 内存的 .apk 安装程序。安装在手机上时,该应用程序占用 32.4 MB(如果使用 ProGuard,大小会减少到 20.4 MB,但仍然很多)。我没有从互联网或其他地方上传图片。该程序对数量执行各种数学转换。项目资源(src)文件夹只有524Kb,java代码文件夹有200Kb。为什么应用程序安装后在我的手机上占用了这么多空间?如何确定项目中到底有什么可以占用这么多空间?感谢你的回答。
我使用 POP3 协议从服务器收到一封电子邮件。这封信的形式如下:
Delivered-To: vasilisa_prek@list.ru
To: vasilisa_prek@list.ru
Date: Wed, 22 Mar 2017 07:32:55 +0300
MIME-Version: 1.0
From: =?UTF-8?B?0JrQvtC80LDQvdC00LAg0J/QvtGH0YLRiyBNYWlsLlJ1?=
<welcome@corp.mail.ru>
Subject: =?UTF-8?B?TWFpbC5SdSDigJMg0LHQvtC70YzRiNC1LCDRh9C10Lwg0L/QvtGH0YLQsC4g?=
=?UTF-8?B?0J/QvtC30L3QsNC60L7QvNGM0YLQtdGB0Ywg0YEg0L/RgNC+0LXQutGC0LA=?=
=?UTF-8?B?0LzQuCBNYWlsLlJ1IEdyb3Vw?=
X-MailRu-Host: f373.i.mail.ru
X-MailRu-Hide-Fast-Answer: 1
X-Postmaster-Msgtype: e-mail-ru-welcome
Content-Type: multipart/alternative;
boundary="------------080400030209020702000207"
如何从这种类型中正确获取信件的主题和发件人姓名?我使用 C# 语言。
告诉我谁知道。几天来,我一直在努力尝试连接到端口 110 上的 pop.mail.ru 服务器。发送 USER 时,我从服务器收到错误消息:
-ERR POP3 is available only with SSL or TLS connection enabled
网上所有的例子都没有设计成使用SSL或者TLS加密,怎么和这个加密联系起来呢?有文章吗?感谢你的回答。
编码:
mailclient = new TcpClient("pop.mail.ru", 110);
NetworkStream ns = mailclient.GetStream();
StreamReader sr = new StreamReader(ns);
StreamWriter sw = new StreamWriter(ns);
sw.WriteLine("USER " + "***@mail.ru");
sw.Flush();
我决定混淆应用程序代码,但在工作过程中开始出现与库相关的错误。我在 Android Studio 中使用 Gradle 构建项目。以下是使用的库列表:
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.android.support:design:25.1.0'
compile 'com.google.firebase:firebase-core:9.2.1'
compile 'com.google.firebase:firebase-ads:9.2.1'
compile 'com.android.support:recyclerview-v7:25.1.0'
compile 'com.github.bumptech.glide:glide:3.5.2'
compile 'com.android.support:support-v4:25.1.0'
compile 'com.android.support:gridlayout-v7:25.1.0'
应该注册什么以及在哪里注册,这样这些库就不会受到混淆?
我想为 Google Play 制作付费应用程序,我对以下几点感兴趣。销售所得款项将记入何处以及如何实际提取?我需要打电话给专门的卡来充钱吗?Google 对销售收取多少佣金?
在内存泄漏报告中使用 LeakCanary 库,我得到了加密的方法名称。例如:
static hk.o
references ht.a
leaks Activity instance
谁能解释一下这份报告?为什么它不写我使用的方法的名称?
我使用的是没有 ProGuard 的代码的调试版本。
这是源代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
getWindow().setBackgroundDrawable(null);
final ImageButton btn_pas = (ImageButton) findViewById(R.id.btn_pas);
Glide.with(getApplicationContext()).load(R.drawable.fci_2)
.placeholder(R.color.white).into(btn_pas);
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-...");
requestNewInterstitial();
}
Override
public void onBackPressed() {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
super.onBackPressed();
} else {
super.onBackPressed();
}
requestNewInterstitial();
}
private final void requestNewInterstitial() {
AdRequest adRequest = new AdRequest.Builder().build();
mInterstitialAd.loadAd(adRequest);
}
public final void pas(View view) {
Intent intent = new Intent(Activity.this, pas.class);
startActivity(intent);
}
我决定混淆我的 Android 项目的代码。我在 Internet 上读到,您可以使用 ProGuard 或 DexGuard 保护应用程序免受黑客攻击。如何正确设置项目以使 ProGuard 工作(我使用 Gradle)?那么如何确信它有效并且它改变了类和方法的名称呢?也许还有其他一些比 ProGuard 做得更好的混淆器?感谢你的回答。

