Android 设备开闭时的应用
每次我打开手机上的应用进行检查时,它会在打开的第二秒关闭,并显示: “”应用程序名称“已停止” 它只是自动关闭,甚至没有进入主布局 p、 这是tnx的帮助,伙计们 调试说: 目标设备:54d1969c安装APK: C:\Users\erre\AndroidStudioProjects\AccountSaver\app\build\outputs\apk\app-debug.apk 正在将文件上载到:/data/local/tmp/com.erelbiran.accountsaver com.android.ddmlib.AdbCommandRejectedException:设备未经授权。 此adb服务器的$adb\u供应商\u密钥未设置。如果 这似乎是错误的。否则,请检查屏幕上的确认对话框 装置 主要活动Android 设备开闭时的应用,android,shutdown,auto-close,Android,Shutdown,Auto Close,每次我打开手机上的应用进行检查时,它会在打开的第二秒关闭,并显示: “”应用程序名称“已停止” 它只是自动关闭,甚至没有进入主布局 p、 这是tnx的帮助,伙计们 调试说: 目标设备:54d1969c安装APK: C:\Users\erre\AndroidStudioProjects\AccountSaver\app\build\outputs\apk\app-debug.apk 正在将文件上载到:/data/local/tmp/com.erelbiran.accountsaver com.an
package com.erelbiran.accountsaver;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
DB myDB;
Button btnAdd;
EditText User = (EditText)findViewById(R.id.EnterUser), Pass = (EditText)findViewById(R.id.EnterPass), Acc = (EditText)findViewById(R.id.EnterAcc);
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
openDB();
btnAdd.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view) {
myDB.insertRow(User.getText().toString(), Pass.getText().toString(), Acc.getText().toString());
Toast.makeText(MainActivity.this, "Account Added!", Toast.LENGTH_SHORT).show();
}}
);
}
private void openDB(){
myDB = new DB(this);
myDB.open();
}
private void closeDB(){
myDB.close();
}
}
梅尼费斯特
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.erelbiran.accountsaver">
<application
android:debuggable="true"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name="MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
onCreate(Bundle)
是初始化活动的地方。
最重要的是,在这里,您通常会使用定义UI的布局资源调用
setContentView(int)
,并使用findViewById(int)
检索该UI中需要以编程方式交互的小部件。
尝试在onCreate(Bundle)
试试看
您的错误是这一行:
EditText User = (EditText)findViewById(R.id.EnterUser),
Pass = (EditText)findViewById(R.id.EnterPass),
Acc = (EditText)findViewById(R.id.EnterAcc);
将其移动到活动的OnCreate()您的代码有一些错误 错误1:
EditText User = (EditText)findViewById(R.id.EnterUser), Pass = (EditText)findViewById(R.id.EnterPass), Acc = (EditText)findViewById(R.id.EnterAcc);
您必须将其移动到onCreate。不能在方法外调用findViewById
您应该将其更改为:
public class MainActivity extends Activity {
DB myDB;
Button btnAdd;
EditText User,Pass, Acc;
@Override
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);
User = (EditText)findViewById(R.id.EnterUser);
Pass = (EditText)findViewById(R.id.EnterPass);
Acc = (EditText)findViewById(R.id.EnterAcc);
}
}
注意,在setContentView()之后调用findViewById
错误2:
您正在空对象中设置clickListener:
btnAdd已创建但未实例化。您必须找到btnAdd应该指向的视图。在setOnClickListener之前使用findViewByID:
public class MainActivity extends Activity {
Button btnAdd;
@Override
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);
btnAdd = (Button)findViewById(R.id.btnAdd);
btnAdd.setOnClickListener(......
}
}
错误3
用于创建数据库的字符串错误。列名应该在引号内
将其更改为:
来自
public class DB {
private static final String DATABASE_CREATE_SQL =
"create table " + DATABASE_TABLE
+ " (" + KEY_ACCID + " integer primary key autoincrement, "
+ KEY_USER + " string not null, "
+ KEY_PASS + " string not null, "
+ KEY_ACC + " string not null"
+ ");";
}
至
public class DB {
private static final String DATABASE_CREATE_SQL =
"create table " + DATABASE_TABLE
+ " (\"" + KEY_ACCID + "\" integer primary key autoincrement, \""
+ KEY_USER + "\" string not null, \""
+ KEY_PASS + "\" string not null, \""
+ KEY_ACC + "\" string not null"
+ ")";
}
如果仍然存在错误,请按照以下步骤修复问题:
很可能有一股力量正在靠近。。。尝试分享日志…不客气。如果有人正确地回答了你的问题,不要忘记将其作为“公认答案”推向市场,以结束话题
public class DB {
private static final String DATABASE_CREATE_SQL =
"create table " + DATABASE_TABLE
+ " (" + KEY_ACCID + " integer primary key autoincrement, "
+ KEY_USER + " string not null, "
+ KEY_PASS + " string not null, "
+ KEY_ACC + " string not null"
+ ");";
}
public class DB {
private static final String DATABASE_CREATE_SQL =
"create table " + DATABASE_TABLE
+ " (\"" + KEY_ACCID + "\" integer primary key autoincrement, \""
+ KEY_USER + "\" string not null, \""
+ KEY_PASS + "\" string not null, \""
+ KEY_ACC + "\" string not null"
+ ")";
}