如何实现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界面布局
![图片说明](https://img-ask.csdn.net/upload/201803/20/1521542786_570139.png) 请问这个布局里面的中医站和联想大厦和各自下方的两个列表怎么做比较好 ,单纯的拉上局感觉太费事了 ,想找个便捷的方法,而且下方的......................分割线是怎么做出来的 按钮和左上方的三条横线怎么做出来的 真*学校内萌新 求大佬们帮忙
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; } } ``` ```
点击不同按钮跳转一个界面显示改界面显示数据库里不同的数据。
一个界面有四个点击事件都是进入同一个界面的,怎么样让点击不同的事件进入同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.支持远程
手机QQ界面点击按钮后,跳转界面是使用fragment还是activity呀
![图片说明](https://img-ask.csdn.net/upload/202003/25/1585140962_334596.jpg)
关于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文件更改成用户的简介(用户名头像等),数据库大致解决了,安卓方面欠缺,求教导,谢谢
连接登录和注册,两个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软件包,安装过程基本一样,但是打开后工具界面的按钮会有区别,很多钮都没有颜色,点击运行也和教程上的不一样,我是不是安装错了,该到哪里安装才对呢
安卓点击按钮不能实现跳转 模拟器运行软件点按钮就闪退
点登录按钮就闪退![图片说明](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) 萌新一个 求各位大佬帮帮忙
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); } } ```
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的界面,再按一次登录或删除就崩溃了,而且还没有达到删除数据库的目的,有大神知道是哪里出问题了吗?
关于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吗?救救孩子吧
有哪位大神能帮忙看一下,跳转到这个界面时闪退
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) ``` ```
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
【JSON解析】浅谈JSONObject的使用
简介 在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。 JSON建构于两种结构: “名称/值”对的集合(A Collection of name/va...
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
只因接了一个电话,程序员被骗 30 万!
今天想给大家说一个刚刚发生在我身边的一起真实的诈骗经历,我的朋友因此被骗走30万。注:为了保护当事人隐私,部分情节进行了修改。1平安夜突来的电话开始以为就像普通的诈骗一样,想办法让你把钱...
我一个37岁的程序员朋友
周末了,人一旦没有点事情干,心里就瞎想,而且跟几个老男人坐在一起,更容易瞎想,我自己现在也是 30 岁了,也是无时无刻在担心自己的职业生涯,担心丢掉工作没有收入,担心身体机能下降,担心突...
python自动下载图片
近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。 可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉思。。。。 突然旁边的IOS同事问:‘嘿,兄弟,我发现一个网站的图片很有意思啊,能不能帮我保存下来提升我的开发灵感?’ 作为一个坚强的社畜怎么能说自己不行呢,当时朕就不假思索的答应:‘oh, It’s simple. Wait for me for a ...
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
Java 14 都快来了,为什么还有这么多人固守Java 8?
从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,...
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
立即提问