如何实现Android Studio 里点击按钮然后进入另一界面,然后可以输入文字并保存

操作代码该怎么写?本人想做个手账类的app,新手求大神指导。

1个回答

第一个功能跳转页面
intent 就能实现

从MainActivity 跳转到SecondActivity
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);

第二个你的意思有点模糊
如果是当前页面输入文字后在下一个页面获取
就可以使用buddle 绑定,通过intent 方式

  Intent intent = new Intent();
       Bundle bundle = new Bundle();//新建Bundle
       bundle.putString("name", "zhangsan");//把文本内容绑定入bundle,获取是对应的,类似键值对,键key:name,值value:zhangsan
       bundle.putString("country", "china");
       intent.setClass(ActivityMain.this,Second.class);
       intent.putExtras(bundle);
       startActivity(intent);         

如果是输入的文字保存到数据库,所有的页面都能访问(此时访问是发送请求从数据库获取)
那就连接数据库

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何安卓studio第一个界面点击按钮到第二个界面,在第二个界面点击另一个按钮到第三个界面。
怎么实现安卓studio工程在第一个界面点击一个按钮到第二个界面,然后在第二个界面点击另一个按钮到第三个界面, 我第一个界面和程序![图片说明](https://img-ask.csdn.net/upload/201903/22/1553185843_435315.png)![图片说明](https://img-ask.csdn.net/upload/201903/22/1553185859_47518.png) 是这个![图片说明](https://img-ask.csdn.net/upload/201903/22/1553185791_110075.png)然后点击第三个按钮能到下一个界面![图片说明](https://img-ask.csdn.net/upload/201903/22/1553185897_444602.png) 然后在点其中按钮到不了下个界面是怎么回事
android studio导入的module怎么实现与主程序合并为一个项目?
使用android studio导入了一个其他人的项目,想实现从我的项目中一个activity跳转到导入的项目中去,使两个项目成为一个app。目前两个项目都能单独运行。 ![图片说明](https://img-ask.csdn.net/upload/201904/09/1554781928_740855.png) 想将User_v2.0-app中的一个按钮作为tixing-app的启动器,跳转到他的界面。大致流程该如何操作。感谢大佬们帮助。
Android studio 点击登录,提示停止运行,代码无报错
就只有点击按钮跳转activity功能,之前成功跳转,然后今天在跳转后的 界面添加了fragment功能,实现导航栏,然后就跳转不成功了,代码业务错误 点击按钮就停止运行 bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent1=new Intent(MainActivity.this,actionActivity.class); startActivity(intent1); } }); 上面是点击跳转 下面是跳转后的界面代码 package com.example.denglujiemian; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import android.os.Bundle; import android.view.View; import android.widget.FrameLayout; import android.widget.ImageView; import java.io.FileInputStream; public class actionActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_action); ImageView imageView1=(ImageView) findViewById(R.id.xl); ImageView imageView2=(ImageView) findViewById(R.id.lt); ImageView imageView3=(ImageView) findViewById(R.id.hy); ImageView imageView4=(ImageView) findViewById(R.id.wd); imageView1.setOnClickListener(l); imageView2.setOnClickListener(l); imageView3.setOnClickListener(l); imageView4.setOnClickListener(l); } View.OnClickListener l=new View.OnClickListener() { @Override public void onClick(View v) { FragmentManager fragmentManager=getSupportFragmentManager(); FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction(); Fragment fxian=null; switch (v.getId()){ case R.id.xl: fxian=new keep_Fragment(); break; case R.id.lt: fxian=new liaotianfrag_Fragment(); break; case R.id.hy: fxian=new haoyou_Fragment(); break; case R.id.wd: fxian=new shezhi_Fragment(); break; default: break; } fragmentTransaction.replace(R.id.frameyongqi,fxian); fragmentTransaction.commit(); } };
Android studio想要从登陆界面跳转到这个界面会闪退,求解决,这个界面的代码有什么问题吗,但是并没有报错
![图片说明](https://img-ask.csdn.net/upload/202002/12/1581516213_390363.png) package com.example; import android.app.TabActivity; import android.content.Intent; import android.os.Bundle; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.TabHost; import android.widget.TabHost.TabSpec; import com.example.AskHelp.SystemHelp; import com.example.BloodPressure.BloodPressureActivity; import com.example.BloodSugar.BloodSugarActivity; import com.example.FileManager.FileManagerActivity; import com.example.HeartAuscultation.HeartListen; import com.geniuseoe.demo.R; /** * 功能描述:将系统的各个功能模块添加在TabHost选项卡中,实现在各选项卡之间手动切换以显示不同模块的内容 * */ @SuppressWarnings("deprecation") public class MainTabHost extends TabActivity { private TabHost tabHost; private RadioGroup radioGroup; // Tab选项卡的图标数组 private int[] tabIconViewArray = { R.drawable.tab_icon1, R.drawable.tab_icon2, R.drawable.tab_icon3, R.drawable.tab_icon4, R.drawable.tab_icon5 }; // Tab选项卡的文字数组 private String[] tabNameTextArray = { "档案", "血压", "血糖", "听诊", "帮助" }; // Tab选项卡中的内容(类)数组 private Class[] tabContentClassArray = { FileManagerActivity.class, BloodPressureActivity.class, BloodSugarActivity.class, HeartListen.class, SystemHelp.class }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_tab_host); // 为每一个选项卡设置按钮、图标、文字和内容,将Tab按钮添加进Tab选项卡中 TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost); for (int i = 0; i < tabContentClassArray.length; i++) { TabSpec tabSpec = tabHost.newTabSpec(tabNameTextArray[i]) .setIndicator(tabNameTextArray[i]) .setContent(getTabItemIntent(i)); tabHost.addTab(tabSpec); } initData(); } // 对选项卡上的每个按钮进行监听,以实现模块的切换 private void initData() { radioGroup = (RadioGroup) findViewById(R.id.main_radiogroup); radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.RadioButton0: tabHost.setCurrentTabByTag(tabNameTextArray[0]); break; case R.id.RadioButton1: tabHost.setCurrentTabByTag(tabNameTextArray[1]); break; case R.id.RadioButton2: tabHost.setCurrentTabByTag(tabNameTextArray[2]); break; case R.id.RadioButton3: tabHost.setCurrentTabByTag(tabNameTextArray[3]); break; case R.id.RadioButton4: tabHost.setCurrentTabByTag(tabNameTextArray[4]); break; } } }); ((RadioButton) radioGroup.getChildAt(0)).toggle(); } // 给Tab选项卡设置Activity内容,并且将LoginActivity传入的swapUsername数据转让每个Intent携带分发给每个Tab选项 private Intent getTabItemIntent(int index) { Bundle swapData = new Bundle(); swapData.putString("swapUsername", this.getBundleData()); Intent intent = new Intent(this, tabContentClassArray[index]); intent.putExtras(swapData); return intent; } // 获取启动该MainTabHostAcitivity的Intent,传入Intent携带的 username数据 public String getBundleData() { Intent intent = getIntent(); Bundle data = intent.getExtras(); String swapData = data.getString("username").toString(); return swapData; } } ``` ```
Android Studio界面布局
![图片说明](https://img-ask.csdn.net/upload/201803/20/1521542786_570139.png) 请问这个布局里面的中医站和联想大厦和各自下方的两个列表怎么做比较好 ,单纯的拉上局感觉太费事了 ,想找个便捷的方法,而且下方的......................分割线是怎么做出来的 按钮和左上方的三条横线怎么做出来的 真*学校内萌新 求大佬们帮忙
点击不同按钮跳转一个界面显示改界面显示数据库里不同的数据。
一个界面有四个点击事件都是进入同一个界面的,怎么样让点击不同的事件进入同yi界面显示不同的数据
android studio 和 OnsenUI 删除当前行数据怎么做?
![图片说明](https://img-ask.csdn.net/upload/201604/08/1460086686_368319.jpg) ![图片说明](https://img-ask.csdn.net/upload/201604/08/1460086697_405726.png) 在手机点击删除按钮,删除当前行的数据怎么搞?。这个是onsen ui的界面,在js写代码,在android studio里面操作。求大神帮忙,急,急,急。 QQ945655649.支持远程
关于Android Studio 2.2.3给button按钮一个ID时属性报错
![图片说明](https://img-ask.csdn.net/upload/201703/27/1490577696_942311.jpg) 不管是手写,还是在界面拖。只要给ID,就会成这样,然后,只有Button的id才会这样,而且其他的布局的id正常, 注:在对该错误进行了删除重建,新建xml,新建项目,电脑重启,Android Studio重装后还是没有解决问题
在android studio中新建Navigation Drawer把侧边栏做成登陆界面
安卓新建项目Navigation Drawer的侧边栏包括一个layout的nav_header_main的XML文件 现在我想把它做成初始一个登陆按钮,在另一个页面登陆后根据服务器数据库返回的信息把这个layout的nav_header_main的XML文件更改成用户的简介(用户名头像等),数据库大致解决了,安卓方面欠缺,求教导,谢谢
android 从app跳转到文件管理器 从管理器回调数据给App时 界面按钮消失
![图片说明](https://img-ask.csdn.net/upload/201912/04/1575423320_732600.jpg) ![图片说明](https://img-ask.csdn.net/upload/201912/04/1575423307_317586.jpg) 图一是进入界面时的样子 图二是从文件管理器回调数据时的样子 按钮消失了 ``` attachmentResumePhone.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("application/pdf"); intent.addCategory(Intent.CATEGORY_OPENABLE); startActivityForResult(intent, 1); } }); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK) { Uri uri = data.getData(); path = JxdUtils.getPath(AttachmentResumeActivity.this, uri); } } ```
安卓点击按钮不能实现跳转 模拟器运行软件点按钮就闪退
点登录按钮就闪退![图片说明](https://img-ask.csdn.net/upload/201906/28/1561723660_759733.jpg) 下面是代码 ```package com.example.test; import android.app.Activity; import com.example.test.R; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Denglu extends Activity { Button denglu,zhuche; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.denglu); denglu=(Button)findViewById(R.id.denglu); zhuche=(Button)findViewById(R.id.zhuche); denglu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(Denglu.this,RegisterActivity.class); startActivity(intent); } }); zhuche.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //为了跳转到注册界面,并实现注册功能 Intent intent=new Intent(Denglu.this,LostFindActivity.class); startActivity(intent); finish(); } }); } } ``` 第二个 package com.example.test; import android.app.Activity; import com.example.test.R; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class LostFindActivity extends Activity { Button register; protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.zc); register =(Button)findViewById(R.id.register); register.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(LostFindActivity.this,RegisterActivity.class); startActivity(intent); Toast.makeText(LostFindActivity.this, "注册成功,跳转中", Toast.LENGTH_LONG).show(); finish(); } }); } } 第三个 package com.example.test; import com.example.test.MainActivity; import com.example.test.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class RegisterActivity extends Activity { Button denglu; protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.dl); denglu=(Button)findViewById(R.id.denglu); denglu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(RegisterActivity.this,MainActivity.class); startActivity(intent); Toast.makeText(RegisterActivity.this, "登录成功,跳转中", Toast.LENGTH_LONG).show(); finish(); } }); } } 跳转不了 思路是先注册然后登陆 进主界面 下面是报错信息 ![图片说明](https://img-ask.csdn.net/upload/201906/28/1561724541_821567.jpg) 萌新一个 求各位大佬帮帮忙
连接登录和注册,两个xml,通过一个按钮
我想使用一个java的监听器,实现这个点击button就从登录界面跳转到注册界面的功能,但是我复制了一个.class文件,却出现这些报错。是Android studio里面没有这些包文件吗?![图片说明](https://img-ask.csdn.net/upload/201603/09/1457530527_748667.png)
android developer安装后有很多按钮是无色的,不能按,界面也和教程上的不一样
因为官网等不了了,我在www.android-studio.org/index.php网站下载了studio软件包,安装过程基本一样,但是打开后工具界面的按钮会有区别,很多钮都没有颜色,点击运行也和教程上的不一样,我是不是安装错了,该到哪里安装才对呢
android studio 与后台交互问题 网络访问的问题
url返回了我需要的值 只有我在控制台点击url的时候 服务器端才会有反应 HttpResponse response = httpClient.execute(httpGet);不执行 代码如下: package com.cy.mynj.com.cy.mynj.login; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.cy.mynj.R; import com.cy.mynj.com.cy.mynj.activities.MainActivity; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import org.json.JSONException; import org.json.JSONObject; import java.io.IOException; public class LoginActivity extends AppCompatActivity implements View.OnClickListener{ private EditText et_phone; private EditText et_password; private Button btn_login; private TextView tv_login_register; private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); initViews(); } private void initViews() { et_phone=(EditText)findViewById(R.id.et_phone); et_password=(EditText)findViewById(R.id.et_password); btn_login=(Button)findViewById(R.id.btn_login); btn_login.setOnClickListener(this); tv_login_register=(TextView)findViewById(R.id.tv_login_register); tv_login_register.setOnClickListener(this); tv=(TextView)findViewById(R.id.tv); } @Override public void onClick(View view) { String phone = et_phone.getText().toString(); String password=et_password.getText().toString(); System.out.println(phone + "," + password); System.out.println("按钮点击的线程的名字为:" + Thread.currentThread().getName()); Mythread mythread= new Mythread(phone,password); mythread.start(); } Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); tv.setText(Thread.currentThread().getName() + msg.obj); // 在把这个字符串变成一个JSONObejct try { JSONObject obj = new JSONObject(msg.obj.toString()); String value = obj.getString("loginstate"); System.out.println("value-->" + value); if (value.equals("success")) { Intent intent = new Intent(LoginActivity.this, MainActivity.class); startActivity(intent); } else { Toast.makeText(LoginActivity.this, "登录失败",Toast.LENGTH_SHORT ).show(); } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; private class Mythread extends Thread { private String phone; private String password; public Mythread(String phone, String password) { this.phone = phone; this.password = password; } @Override public void run () { // 在线程中请求服务器的资源 // Apache HttpClient // 1.创建HttpClient对象 HttpClient httpClient = new DefaultHttpClient(); Log.d("test", "t0"); // 2.构建请求的URL String url = "http://172.20.10.3:8080/appnews/user?phone=" + phone + "&password=" + password + "&operator=login"; // String url = "http://10.0.2.2:8080/appnews/servlet/StudentServlet"; // 3.创建HttpGet请求的对象 HttpGet httpGet = new HttpGet(url); Log.d("test4", "t4"); // 4.使用创建的httpClient执行这个httpGet请求 try { HttpResponse response = httpClient.execute(httpGet); Log.d("test3", "t3"); // 5.判断服务器端请求和应答是否成功 if (response.getStatusLine().getStatusCode() == 200) { System.out.println("请求和应答成功"); // 服务器端传输的数据的一个android封装的对象 HttpEntity entity = response.getEntity(); String msg = EntityUtils.toString(entity, "UTF-8"); System.out.println("server-->" + msg); // 在android中,子线程不能更新界面组件的值, // 因为界面组件是单线程模型,必须回到主线程更新组件的值。 // tv.setText(msg); // 构建消息对象 Message smsg = new Message(); smsg.obj = msg; handler.sendMessage(smsg); } } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block Log.d("test5", "t5"); e.printStackTrace(); } } } }
为什么运行查询和删除数据库时闪退?
MainActivity ``` package com.example.administrator.diary; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { private Button mm_login,yk_login; static final String db_pass="passwordDB"; static final String tb_pass="passwordTB"; SQLiteDatabase db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //调用创建数据库方法 CREATE(); //调用按钮监听器方法 init(); //游客跳转 yk_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //为了跳转到日记界面,并实现日记功能 Intent YD=new Intent(MainActivity.this,DiaryActivity.class); startActivity(YD); } }); } //打开或创建数据库 public void CREATE(){ db = openOrCreateDatabase(db_pass, Context.MODE_PRIVATE, null); String createTable = " CREATE TABLE IF NOT EXISTS " + tb_pass + "(password_id VARCHAR (4) PRIMARY KEY)"; db.execSQL(createTable); } //获取activity_main的控件 public void init(){ mm_login=findViewById(R.id.but_mm_login); yk_login=findViewById(R.id.but_yk_login); //获取数据库数据项 Cursor cur=db.rawQuery("SELECT * FROM passwordTB",null); int amount=cur.getCount(); //数据库为0则表示没有密码存在数据库,密码跳转到注册密码界面,游客可直接登录日记界面 if (amount==0){ mm_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //为了跳转到注册界面,并实现注册功能 Intent MR=new Intent(MainActivity.this,RegisterActivity.class); startActivity(MR); } }); yk_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //为了跳转到日记界面,并实现日记功能 Intent YD=new Intent(MainActivity.this,DiaryActivity.class); startActivity(YD); } }); } else{//数据项不为0,则有密码已存在 mm_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //为了跳转到密码输入界面,并实现密码输入功能 Intent MS=new Intent(MainActivity.this,SendActivity.class); startActivity(MS); } }); //游客按钮隐藏 yk_login.setVisibility(Button.INVISIBLE); } } } ``` 登录代码 ``` package com.example.administrator.diary; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class SendActivity extends AppCompatActivity { Button log; EditText onesend,twosend; static final String db_pass="passwordDB"; static final String tb_pass="passwordTB"; SQLiteDatabase db; String f_send; String s_send; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_send); //获取控件地址 log=findViewById(R.id.btn_log); onesend=findViewById(R.id.send); twosend=findViewById(R.id.resend); //获取密码 f_send = onesend.getText().toString(); s_send = twosend.getText().toString(); //打开或创建数据库 db=openOrCreateDatabase(db_pass, Context.MODE_PRIVATE,null); String createTable=" CREATE TABLE IF NOT EXISTS "+tb_pass+"(password VARCHAR (4))"; db.execSQL(createTable); //调用登录按钮方法 login(); } //对比输入密码和设置密码是否相同 private void check(){ //读取数据库中设置的密码 Cursor c=db.rawQuery("SELECT password FROM passwordTB",null); String p=c.getString(0); //判断是否相同 if (f_send.equals(p)&&s_send.equals(p)){ Toast.makeText(SendActivity.this,"登录成功",Toast.LENGTH_SHORT).show(); //判断相同后跳转到日记界面 Intent SD=new Intent(SendActivity.this,DiaryActivity.class); startActivity(SD); } //不同提醒用户 else Toast.makeText(SendActivity.this,"密码输入不对,请重新输入",Toast.LENGTH_SHORT).show(); } //登录按钮功能 private void login(){ log.setOnClickListener(new View.OnClickListener() { @Override //监听器 public void onClick(View v) { //调用检验密码方法 check(); } }); } } ``` 删除数据库代码 ``` package com.example.administrator.diary; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.Toast; public class DiaryActivity extends AppCompatActivity { private Button de; static final String db_pass="passwordDB"; static final String tb_pass="passwordTB"; SQLiteDatabase db; Cursor cursor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_diary); //获取控件位置 de=findViewById(R.id.delete); //打开或创建数据库 db=openOrCreateDatabase(db_pass, Context.MODE_PRIVATE,null); String createTable=" CREATE TABLE IF NOT EXISTS "+tb_pass+"(password VARCHAR (4))"; db.execSQL(createTable); Ondelete(); } //删除密码按钮方法 private void Ondelete(){ de.setOnClickListener(new View.OnClickListener() { @Override //监听器 public void onClick(View v) { //删除数据表方法 String sql = "delete from passwordTB where id = 0"; db.execSQL(sql); Toast.makeText(DiaryActivity.this,"删除成功",Toast.LENGTH_SHORT).show(); } }); } } ``` 建表插表代码 ``` //打开或创建数据库 db=openOrCreateDatabase(db_pass, Context.MODE_PRIVATE,null); String createTable=" CREATE TABLE IF NOT EXISTS "+tb_pass+"(password VARCHAR (4))"; db.execSQL(createTable); compare(); zc(); } //添加新密码到数据库中 private void addData(String password){ ContentValues cv=new ContentValues(1); cv.put(" password",password); db.insert(tb_pass,null,cv); } ``` 闪退后报错 ``` 2020-02-04 17:22:49.787 15729-15729/com.example.administrator.diary E/SQLiteLog: (1) no such column: id 2020-02-04 17:22:49.787 15729-15729/com.example.administrator.diary D/AndroidRuntime: Shutting down VM 2020-02-04 17:22:49.788 15729-15729/com.example.administrator.diary E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.administrator.diary, PID: 15729 android.database.sqlite.SQLiteException: no such column: id (code 1 SQLITE_ERROR): , while compiling: delete from passwordTB where id = 0 at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:985) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:592) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:590) at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:61) at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:33) at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1802) at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1730) at com.example.administrator.diary.DiaryActivity$1.onClick(DiaryActivity.java:39) at android.view.View.performClick(View.java:6913) at android.view.View.performClickInternal(View.java:6890) at android.view.View.access$3200(View.java:792) at android.view.View$PerformClick.run(View.java:27158) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:209) at android.app.ActivityThread.main(ActivityThread.java:7021) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:486) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:872) ``` 程序可以运行,但点击登录按钮或删除按钮后都会返回到mainactivity的界面,再按一次登录或删除就崩溃了,而且还没有达到删除数据库的目的,有大神知道是哪里出问题了吗?
有哪位大神能帮忙看一下,跳转到这个界面时闪退
public class MainTabHost extends TabActivity { private TabHost tabHost; private RadioGroup radioGroup; // Tab选项卡的图标数组 private int[] tabIconViewArray = { R.drawable.tab_icon1, R.drawable.tab_icon2, R.drawable.tab_icon3, R.drawable.tab_icon4, R.drawable.tab_icon5 }; // Tab选项卡的文字数组 private String[] tabNameTextArray = { "档案", "血压", "血糖", "听诊", "帮助" }; // Tab选项卡中的内容(类)数组 private Class[] tabContentClassArray = { com.example.HeartAuscultation.HeartListen.class, com.example.BloodPressure.BloodPressureActivity.class, com.example.BloodSugar.BloodSugarActivity.class, com.example.HeartAuscultation.HeartListen.class, SystemHelp.class }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_tab_host); // 为每一个选项卡设置按钮、图标、文字和内容,将Tab按钮添加进Tab选项卡中 tabHost = getTabHost(); for (int i = 0; i < tabContentClassArray.length; i++) { TabSpec tabSpec = tabHost.newTabSpec(tabNameTextArray[i]) .setIndicator(tabNameTextArray[i]) .setContent(getTabItemIntent(i)); tabHost.addTab(tabSpec); } initData(); } // 对选项卡上的每个按钮进行监听,以实现模块的切换 private void initData() { radioGroup = (RadioGroup) findViewById(R.id.main_radiogroup); radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.RadioButton0: tabHost.setCurrentTabByTag(tabNameTextArray[0]); break; case R.id.RadioButton1: tabHost.setCurrentTabByTag(tabNameTextArray[1]); break; case R.id.RadioButton2: tabHost.setCurrentTabByTag(tabNameTextArray[2]); break; case R.id.RadioButton3: tabHost.setCurrentTabByTag(tabNameTextArray[3]); break; case R.id.RadioButton4: tabHost.setCurrentTabByTag(tabNameTextArray[4]); break; } } }); ((RadioButton) radioGroup.getChildAt(0)).toggle(); } // 给Tab选项卡设置Activity内容,并且将LoginActivity传入的swapUsername数据转让每个Intent携带分发给每个Tab选项 private Intent getTabItemIntent(int index) { Bundle swapData = new Bundle(); swapData.putString("swapUsername", this.getBundleData()); Intent intent = new Intent(this, tabContentClassArray[index]); intent.putExtras(swapData); return intent; } // 获取启动该MainTabHostAcitivity的Intent,传入Intent携带的 username数据 public String getBundleData() { Intent intent = getIntent(); Bundle data = intent.getExtras(); String swapData = data.getString("username").toString(); return swapData; } } ![图片说明](https://img-ask.csdn.net/upload/202002/15/1581769764_27160.png) ``` ```
关于8.0 notification ,当通知栏存在多条通知时会被折叠,点击折叠部分的跳转监听事件应该从哪里实现?
android8.0,之前做通知栏已实现点击单条通知可跳转至对应设置的页面,存在多条通知的话展开折叠栏点击对应的通知依旧可以实现理想的跳转。 但是当多条通知被折叠,而我不点击通知栏的展开的小按钮而是直接点击该显示的通知时,,会直接重启我的APP。请问如何监听该点击事件,或者变成点击后显先我当前的APP界面而非重新启动APP也行啊
Android 使用了NoActionBar的Theme后要怎样实现自定义的title来添加menu啊?
这几天在做一个天气APP,使用的Theme是NoActionBar的,因为我自定义了一个title来显示左侧导航按钮 和显示城市的名字,现在我想在自定义的title中添加一个menu,但我发现好像没有了ActionBar后就不能在界面上显示menu了。 ![图片说明](https://img-ask.csdn.net/upload/201909/01/1567345020_64298.png) ![图片说明](https://img-ask.csdn.net/upload/201909/01/1567344920_51239.png) 红色圈圈部分就是我自定义的title(天气信息的接口是过期的,数据有误,暂时用来测试) ![图片说明](https://img-ask.csdn.net/upload/201909/01/1567345320_937682.png) 所以我想请问各位大佬,有什么办法可以在不显示标题栏NoAcitonBar的情况下,在自定义的title上显示出menu吗?救救孩子吧
Fragment的保存按钮点击后,将speciacontent布局内的数据保存,然后点击读取进行读取
![图片说明](https://img-ask.csdn.net/upload/201902/28/1551346949_613145.png)![图片说明](https://img-ask.csdn.net/upload/201902/28/1551346954_939241.png)![图片说明](https://img-ask.csdn.net/upload/201902/28/1551347144_379261.png) Fragment对应的布局文件,新增一个保存按钮,点击后,应该使用什么方法,将当前界面内的speciacontent布局内的数据进行打包保存,或者说对应的数据进行存储。然后通过点击读取按钮来选择保存的好的文件,然后覆盖当前speciacontent布局内的数据。 求教!。Activity和Fragment的方法好像不一样。
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
《阿里巴巴开发手册》读书笔记-编程规约
Java编程规约命名风格 命名风格 类名使用UpperCamelCase风格 方法名,参数名,成员变量,局部变量都统一使用lowerCamelcase风格 常量命名全部大写,单词间用下划线隔开, 力求语义表达完整清楚,不要嫌名字长 ...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
Python绘图,圣诞树,花,爱心 | Turtle篇
1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turtle.Turtle()
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
为什么听过很多道理,依然过不好这一生?
记录学习笔记是一个重要的习惯,不希望学习过的东西成为过眼云烟。做总结的同时也是一次复盘思考的过程。 本文是根据阅读得到 App上《万维钢·精英日课》部分文章后所做的一点笔记和思考。学习是一个系统的过程,思维模型的建立需要相对完整的学习和思考过程。以下观点是在碎片化阅读后总结的一点心得总结。
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
Linux 命令(122)—— watch 命令
1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 [1] watch(1) manual
Linux 命令(121)—— cal 命令
1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 [1] cal(1) manual
记jsp+servlet+jdbc实现的新闻管理系统
1.工具:eclipse+SQLyog 2.介绍:实现的内容就是显示新闻的基本信息,然后一个增删改查的操作。 3.数据库表设计 列名 中文名称 数据类型 长度 非空 newsId 文章ID int 11 √ newsTitle 文章标题 varchar 20 √ newsContent 文章内容 text newsStatus 是否审核 varchar 10 news...
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告(本文) 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允
相关热词 c# 时间比天数 c# oracle查询 c# 主动推送 事件 c# java 属性 c# 控制台 窗体 c# 静态类存值 c#矢量作图 c#窗体调用外部程式 c# enum是否合法 c# 如何卸载引用
立即提问