添加活动的正确方法是AndroidManifest.xml什么?
实际上我在很多地方都看到了一个定义为的活动
<activity
android:name="MyFirstActivity"
android:label="@string/title_first_activity">
</activity>
Run Code Online (Sandbox Code Playgroud)
在某些地方
<activity
android:name=".MySecondActivity"
android:label="@string/title_second_activity">
</activity>
Run Code Online (Sandbox Code Playgroud)
我只是想知道将点(.)放入清单文件中是否是正确的方法.
我在应用程序启动时在我的应用程序中安装证书.我已经完成了以下几个链接并成功安装了证书.
我发现我们无法在没有用户交互的情况下安静地安装证书.目前我不知道每次用户打开我的应用程序时如何停止提示.
每当我的应用程序每次都要求用户安装证书时启动.有没有办法我可以通过编程方式检测证书(在这种情况下是我的证书)是否已安装.
我在我的应用中安装证书的代码段
private void installCertificate()
{
try
{
BufferedInputStream bis = new BufferedInputStream(getAssets().open(MY_CERT));
byte[] keychain = new byte[bis.available()];
bis.read(keychain);
Intent installIntent = KeyChain.createInstallIntent();
X509Certificate x509 = X509Certificate.getInstance(keychain);
installIntent.putExtra(KeyChain.EXTRA_CERTIFICATE, x509.getEncoded());
installIntent.putExtra(KeyChain.EXTRA_NAME, MY_CERT);
startActivityForResult(installIntent, INSTALL_KEYCHAIN_CODE);
}
catch (IOException e) {
e.printStackTrace();
}
catch (CertificateException e)
{
e.printStackTrace();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == INSTALL_KEYCHAIN_CODE)
{
switch (resultCode)
{
case Activity.RESULT_OK:
doTheTask();
break;
case Activity.RESULT_CANCELED:
finish();
break; …Run Code Online (Sandbox Code Playgroud) 问题是如何将ByteArray转换为GUID.
以前我将我的guid转换为字节数组,在一些事务之后我需要从字节数组中返回guid.我怎么做.尽管不相关但从Guid到byte []的转换如下
public static byte[] getByteArrayFromGuid(String str)
{
UUID uuid = UUID.fromString(str);
ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
bb.putLong(uuid.getMostSignificantBits());
bb.putLong(uuid.getLeastSignificantBits());
return bb.array();
}
Run Code Online (Sandbox Code Playgroud)
但是如何将其转换回来?
我试过这个方法,但它没有给我相同的价值
public static String getGuidFromByteArray(byte[] bytes)
{
UUID uuid = UUID.nameUUIDFromBytes(bytes);
return uuid.toString();
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
在我的应用程序中,我使用各种编辑文本和文本视图和列表视图.现在我的问题是我的键盘再次出现在方向改变上.理想情况下,当用户最小化键盘时,它应该在设备倾斜时处于最小化状态.但它再次出现.我们如何处理这种情况.
我的另一个问题是我的编辑文本之一是屏幕末尾的一些内容.键盘出现时,它会隐藏编辑文本.所以用户无法看到他正在输入的内容.处理这个问题的理想方法是什么.谢谢.
经过一番努力,我终于到达了我在android中的第一个应用程序的结尾.并感谢所有人.但是在结束之后,我意识到我的应用文本大小在所有平板电脑尺寸中都很常见.所以我将重新提出我的问题.
问题:我在整个应用中使用了自己的自定义文字大小.还有一些满意的7英寸平板电脑.但是,当我在8.9英寸和10.1英寸平板电脑上看同样的东西时,它包含大量的空白区域和文字大小也相对较小.那么有什么方法可以根据我的平板电脑大小改变文字大小??? 它可能看起来像新手问题,但我正在努力解决这个问题,因为相同的应用程序在7英寸看起来很精彩,在8.9和10.1英寸中失去了它的本质.或者我可以用我的应用程序做同样的事情. 可能的解决方案: -正如我的主题所示,当平板电脑大小发生变化时,有一些方法可以更改文本大小.动态或任何其他方式.
编辑::根据Cheeta的回答,方法是正确的但我无法为每个布局按钮和文本字段和其他字段执行此操作.在单个应用程序中有数百个这样的字段.我可以在某个地方进行,并将其称为必需属性.自定义标签是我正在寻找的方法.是否可能????
任何帮助将不胜感激.提前致谢.
注意我还没有达成答案,但猎豹的答案在某种程度上导致了正确的方法.我将他的答案标记为正确,尽管他的答案几乎没有对齐问题.任何其他答案总是受欢迎的.谢谢
我的问题很简单,就像layout-sw600dp,values-sw600dp,分别用于布局和值,相对于屏幕大小,drawable文件夹有什么用.
我在各种文档中读到,如果我们想要使用大于或等于7英寸的任何屏幕,我们可以使用layout-sw600dp文件夹,对于任何较小屏幕尺寸的设备,将考虑布局文件夹.那么我们如何才能对图像使用相同的概念呢.现在有ldpi,mdpi,hdpi文件夹,但图像是根据屏幕密度而不是屏幕尺寸拍摄的.现在,如果我正在开发一个既可以在设备上工作也可以在手机上工作的应用程序,那么我的图像可能是什么方法.
在此先感谢,请指导我.

如图所示,流程就像这样.因此,每当用户点击徽标按钮时,应调用活动A. 作为简单的解决方案我们可以使用这种方
Intent intent = new Intent(activity, activityToStart);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
但是此活动将为我的应用创建一个新活动.但是我需要在流程图中向前推进调用相同的活动实例.从活动A到B然后再次在B上可以通过调用轻松调用,finish()但是从活动C或D,如何回到A.
我的想法已经用完,但没有取得任何丰硕的成果.如果您有任何建议或在任何地方我出错,请帮助我.提前致谢.
我在我的应用程序中启用了proguard.每当我构建我的应用程序时,我都会遇到以下错误.
Constructor not matched for class com.acs.nomad.d.b.e
根据我的映射文件,这个引用的类如下所示
package com.my.package;
import java.util.ArrayList;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Root;
@Root (name = "folders")
public class Folders
{
@ElementList (entry = "contactFolder", required = false, inline = true)
private ArrayList<ContactFolder> contactFolder;
/**
* List of contact folders
*/
public ArrayList<ContactFolder> getContactFolder()
{
return contactFolder;
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所有选项,因为这些url proguard-obfuscation-is-breaking
Android的proguard的-和keepclasseswithmembernames
似乎没什么用.我的Proguard.config文件是
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keepattributes Signature, *Annotation*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application …Run Code Online (Sandbox Code Playgroud) 我想在GCM上注册我的应用程序,但我不知道为什么我的应用程序从未注册.GCMRegistrar.register(this, SENDER_ID);被调用但我的GCMIntentService中的onRegistered()从未被调用过.我不知道为什么.
这是我的Logcat
01-17 11:03:00.015: D/GCMRegistrar(3509): resetting backoff for com.abc.xyz.ui.activity
01-17 11:03:03.210: V/GCMRegistrar(3509): Registering app com.abc.xyz.ui.activity of senders 964256581311
01-17 11:03:06.070: V/GCMBroadcastReceiver(3509): onReceive: com.google.android.c2dm.intent.REGISTRATION
01-17 11:03:06.070: V/GCMBroadcastReceiver(3509): GCM IntentService class: com.abc.xyz.ui.activity.GCMIntentService
01-17 11:03:06.070: V/GCMBaseIntentService(3509): Acquiring wakelock
Run Code Online (Sandbox Code Playgroud)
这是我的完整清单
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.abc.xyz.ui.activity"
android:versionCode="1"
android:versionName="1.5.6" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk
android:minSdkVersion="11" android:targetSdkVersion="16"/>
<uses-feature
android:name="android.hardware.usb.host"/>
<!-- This app has permission to register and receive data message. -->
<uses-permission
android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission
android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.READ_PHONE_STATE" />
<uses-permission
android:name="android.permission.GET_TASKS" />
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" …Run Code Online (Sandbox Code Playgroud) 我已经开始在我的项目中包含proguard.但得到的警告很少.我可以通过添加来消除警告-dontwarn com.google.**.在proguard.cfg文件中.每件事都很好,但我想-dontwarn完全从我的项目中删除命令.经过一番调查后我发现这些警告是因为我在我的图书馆项目中添加了一个jar.现在我在这里几个问题.
1)我是否需要在项目属性中添加任何内容,以便progurad能够处理我的库项目.并且也没有添加任何警告(根据我的研究,我不需要我猜.请参阅此网址)
2)由于我的库项目中添加了guava.jar,我是否需要在我的应用程序proguard.cfg文件中添加一些命令来添加像-libraryjars这样的库路径.如果是,我如何添加-libraryjars.我在谈论这个例子的路径.我应该包含哪条路径,或者在我的库项目中添加jar的路径的语法是什么?
只是为了引用我正在添加错误日志.
[2014-12-11 18:00:26 - MyProject] Proguard returned with error code 1. See console
[2014-12-11 18:00:26 - MyProject] Warning: com.google.common.base.Equivalence: can't find referenced class javax.annotation.Nullable
[2014-12-11 18:00:26 - MyProject] Warning: com.google.common.base.Equivalence: can't find referenced class javax.annotation.Nullable
[2014-12-11 18:00:26 - MyProject] Warning: com.google.common.base.Equivalence: can't find referenced class javax.annotation.Nullable
[2014-12-11 18:00:26 - MyProject] Warning: com.google.common.base.Equivalences$Impl$1: can't find referenced class javax.annotation.Nullable
[2014-12-11 18:00:26 - MyProject] Warning: com.google.common.base.Equivalences$Impl$1: can't …Run Code Online (Sandbox Code Playgroud)