我正在尝试更新我的应用的第20版.通常,更新上线不超过2小时.但是,我已经等了36个小时了.我应该重新提交我的应用程序吗?
有时,当我尝试使用Google MAPS API KEY获取用于绘制"折线"的网址时,我的日志中出现错误:
"error_message":"不推荐使用Google地图平台的无钥匙访问.请在所有API调用中使用API密钥以避免服务中断.有关详细信息,请参阅http://g.co/dev/maps-no-account ", "路由":[], "状态": "OVER_QUERY_LIMIT"
我的清单中有这个:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="MY_GOOGLE_MAPS_API_KEY" />
Run Code Online (Sandbox Code Playgroud)
此外,此API KEY在我的API CONSOLE中"已启用",并且仅限于Google Maps Android SDK和Directions API.我还为我的Google API CONSOLE启用了结算功能,但有时仍会出现此错误.
要初始化Google Translate API,必须在一个帖子中完成.大多数时候它只需要2秒钟.但是,每5次中有1次,需要20秒到3分钟(不可接受).
我初始化Google Translate API的AppCompatActivity
AsyncTask<Void, Void, Void> asyncTask = new AsyncTask<Void, Void, Void>() {
@Override
public void onPostExecute (Void aVoid) {
Log.i("APP", "finished initializing");
}
@Override
protected Void doInBackground(Void... voids) {
Log.i("APP", "started initializing");
translate2 = TranslateOptions.newBuilder().setApiKey(MY_API_KEY).build().getService();
return null;
}
};
asyncTask.execute();
Run Code Online (Sandbox Code Playgroud)
摇篮
我的gradle(模块)中也有最新版本:
compile ('com.google.apis:google-api-services-translate:v2-rev49-1.22.0')
Run Code Online (Sandbox Code Playgroud)
注意
它曾经立即工作,这个错误是最近的.我不确定为什么会发生这种情况.
在API> = 23中,我们需要在运行时向用户请求权限.但由于某种原因,权限导致onResume被无限调用.是什么导致这个?
@Override
protected void onResume() {
super.onResume();
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.ANYPERMISSION},1);
}
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
}
Run Code Online (Sandbox Code Playgroud) 我看到了这个堆栈溢出帖子,但它并没有帮助我理解我必须做什么。我了解如何从查询中增加计数器值的概念。
但我不明白我应该使用什么。我应该使用Notification notification;还是BadgeViewer badgeViewer;?我更喜欢一种不必导入库的方法。
将Google Translate API添加compile 'com.google.cloud:google-cloud-translate:0.18.0-beta'到我的项目后,我遇到了一个奇怪的错误
错误:任务':ParseStarterProject:transformResourcesWithMergeJavaResForDebug'的执行失败.com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:在APK project.properties中复制的重复文件File1:.gradle/caches/modules-2/files-2.1/com.google.cloud /google-cloud-translate/0.18.0-beta/9cac04f2bb48f76f352bf65d782506e4aa18406c/google-cloud-translate-0.18.0-beta.jar File2:/.gradle/caches/modules-2/files-2.1/com.google.cloud/谷歌云核/ 1.0.2/ff451b4b785369093bd91d277c22576fc9c1da3a /谷歌-云核 - 1.0.2.jar
还有其他SO帖子提到"在APK META_INF中复制的重复文件",或"在APK LICENSE.txt中复制的重复文件"等
但是,我还没有看到其他人遇到错误"在APK project.properties中复制的重复文件"
将这些添加到我的gradle中是行不通的
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/io.netty.versions.properties'
exclude 'META-INF/INDEX.LIST'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
Run Code Online (Sandbox Code Playgroud)
还有什么我可以添加到我的gradle来修复此错误吗?或者是否有其他方法通过删除错误日志中显示的"FILE2"来修复此错误?
摇篮
apply plugin: 'com.android.application'
android {
useLibrary 'org.apache.http.legacy'
packagingOptions {
// exclude 'META-INF/LICENSE'
//exclude 'META-INF/io.netty.versions.properties'
//exclude 'META-INF/INDEX.LIST'
}
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
multiDexEnabled true
applicationId "com.package.name"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 41
versionName "2.1"
}
buildTypes {
release {
minifyEnabled …Run Code Online (Sandbox Code Playgroud) android google-api google-translate gradle android-gradle-plugin
根据google翻译文档:中文(简体)是“ zh-CN”。中文(繁体)是“ zh-TW”。
但是,当我为中文创建一个strings.xml资源文件时,它仅适用于“ zh”:
我的中文strings.xml文件应该使用简化字符串还是传统字符串?
每当我需要实现自定义ListView或GridView. 我总是使用这样的BaseAdapter类:
public class CustomFlowerGridViewAdapter extends BaseAdapter {
private HashMap<String, String> mFlowerFeed = new HashMap<>();
private Context mContext;
static LayoutInflater mFlowerInflater = null;
CustomFlowerGridViewAdapter(Context context, ArrayList<HashMap<String, String>> data) {
super();
this.mContext = context;
MainActivity.flowerArrayFeedList = data;
mFlowerInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return MainActivity.flowerArrayFeedList.size();
}
@Override
public Object getItem(int i) {
return MainActivity.flowerArrayFeedList.size();
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, …Run Code Online (Sandbox Code Playgroud)