我有一个应用程序,人们需要使用密码登录.我想只显示输入的最后一个字符,但我似乎得到的只是所有字符点或所有字符都可见.
我试了几件事:
password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
password.setTransformationMethod(PasswordTransformationMethod.getInstance());
password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
Run Code Online (Sandbox Code Playgroud)
并在xml中设置inputtype.
我只测试了一个星系s2,因为那是我办公室目前唯一的安卓设备,所以我不知道问题是否仅适用于我的设备.
编辑:刚刚从一位同事的HTC Sensation上进行了测试,它确实在他的手机上按预期工作,但问题仍然是如何在Galaxy S2上做同样的事情?
在我的应用程序中,我必须使用用户地址(美国).用户需要输入有效地址.我怎样才能做到这一点?是否有任何图书馆可以帮助我了解州,城市和街道名称的名称?如果可能的话我想使用autotype.我读过GeoCoding,但我认为它不会对我有帮助,因为用户没有从当前位置输入地址.
我正在尝试将基础文档中的节点导入到新文档中,但是当我使用Document.importNode()方法时,它会生成异常.有趣的是,这个异常不包含消息,所以除了堆栈跟踪之外我几乎都是盲目的.(我是java的新手)
这是我的方法,它将创建一个新文档并导入节点:
码:
public XMLSelection extract ()
{
if (this.Element != null)
{
try
{
Document newDoc = this.Builder.newDocument();
Node node = newDoc.importNode(this.Element, true);
newDoc.appendChild(node);
return new XMLSelection(newDoc);
}
catch(Exception e)
{
Debug.error("XMLSelection::extract", e);
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
02-06 14:27:53.328: W/System.err(9082): org.w3c.dom.DOMException
02-06 14:27:53.328: W/System.err(9082): at org.apache.harmony.xml.dom.NodeImpl.setNameNS(NodeImpl.java:227)
02-06 14:27:53.328: W/System.err(9082): at org.apache.harmony.xml.dom.ElementImpl.(ElementImpl.java:50)
02-06 14:27:53.328: W/System.err(9082): at org.apache.harmony.xml.dom.DocumentImpl.createElementNS(DocumentImpl.java:336)
02-06 14:27:53.328: W/System.err(9082): at org.apache.harmony.xml.dom.DocumentImpl.shallowCopy(DocumentImpl.java:156)
02-06 14:27:53.328: W/System.err(9082): at org.apache.harmony.xml.dom.DocumentImpl.cloneOrImportNode(DocumentImpl.java:208)
02-06 14:27:53.328: W/System.err(9082): at org.apache.harmony.xml.dom.DocumentImpl.importNode(DocumentImpl.java:222)
02-06 …Run Code Online (Sandbox Code Playgroud) 我试图从一个Android手机一次转移大约一兆字节的任意数据.目前,我把大小,命令代码和数据写到一个DataOutputStream周围BufferedOutputStream,OutputStream返回来自bluetoothSocketInstance.getOutputStream().
接收电话读取大小和命令代码,然后从输入流中读取,直到它获得了预期的所有数据.这适用于短字符串,但对于较大的文件,并非所有数据都会传输.在调试器中运行应用程序显示写入返回没有任何异常,读取读取预期的一小部分字节,然后无限期地阻塞.它也没有任何例外.
某个地方是否有缓冲填满?我还需要做些什么来确保所有数据都被传输吗?
我的发件人和收件人代码如下:
发件人:
try {
DataOutputStream d = new DataOutputStream(new BufferedOutputStream(mmOutStream,buffer.length+8));
//int b= buffer.length;
d.writeInt(buffer.length);
d.writeInt(command);
d.write(buffer);
d.flush();
} catch (IOException e) {
Log.e(TAG, "Exception during write", e);
}
}
Run Code Online (Sandbox Code Playgroud)
接收器:
try {
// Read from the InputStream
int messageSize= inStream.readInt();
int messageCode = inStream.readInt();
bytes=0;
buffer =new byte[messageSize];
while(bytes < messageSize)
{
bytes += inStream.read(buffer,bytes,messageSize - bytes);
}
message = bytes;
} catch (IOException e) {
Log.e(TAG, "disconnected", e); …Run Code Online (Sandbox Code Playgroud) 我有2个项目:
1 - Android原生项目
2 - C/C++项目
我建立我的共享库文件(的.so)在C/C++项目,并希望在Android原生项目中使用这些.so文件.我不想将这些库文件从一个项目复制并粘贴到另一个项目中.
首先,可以通过对C++库项目使用一些参考等来使用我原生Android项目中的那些.so文件吗?
是否更容易找到一种方法将.so文件从C++库项目自动复制到Android本机项目?
此代码应将输入到R.id.editUserName中的文本与R.string.DB_username进行比较,如果匹配,则将您登录,否则显示他们不匹配的Toast.
public void signIn(View view) {
EditText editUserName = (EditText)findViewById(R.id.editUserName);
String userName = editUserName.getText().toString();
if ( userName == getResources().getString(R.string.DB_username)) {
// log in
setContentView(R.layout.screen1);
} else {
// show toast
Toast toast = Toast.makeText(getApplicationContext(), userName+" != "+getResources().getString(R.string.DB_username), Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
}
Run Code Online (Sandbox Code Playgroud)
即使他们确实匹配,它仍然会举杯祝酒,比如"Roger!= Roger"......怎么会这样?
我正在开发一款适用于Android的迷你游戏.我正在使用此代码创建一个在游戏暂停时暂停的3分钟计时器:
class update extends Thread{
@Override
public final void interrupt(){
super.interrupt();
}
@Override
public void run(){
try{
while(true){
sleep(50);
iTime++;
if(iTime>=3600)
bEnd = true; //finish
postInvalidate();
}
}catch(InterruptedException e){
}
}
}
update thread = null;
3600 = 20*3*60
Run Code Online (Sandbox Code Playgroud)
计时器在大约5分钟内完成,在大约1.5分钟后在Galaxy Tab中完成.
为什么不总是需要3分钟?我如何确保在3分钟内完成?
android ×6
java ×3
android-ndk ×1
bluetooth ×1
domdocument ×1
passwords ×1
runnable ×1
sleep ×1