移动应用开发技术移动应用数据存储.docx
《移动应用开发技术移动应用数据存储.docx》由会员分享,可在线阅读,更多相关《移动应用开发技术移动应用数据存储.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、移动应用开发技术移动应用数据存储一、实验目的1 . 了解数据存储的多种方法、数据共享的方法;2 .掌握文件存储技术及具体应用;3 .掌握SQLite数据库存储技术及具体应用。二、实验内容在上次实验设计的“心情日记本”系统的基础上,增加如下功能:1 .保存登录信息在用户登录界面中增加一个复选框“记住姓名”。当勾选了该复选框后,系统的用户登录Activity 将保存最近的一次用户登录信息。2 .保存注册信息在用户注册界面中实现注册按钮的单击事件。当单击注册按钮时,将注册信息保存在文件中(昵 称为自己名字全拼),并用Toast方式将文件中的数据输出。3 .日记查看点击日记按钮进入日记查看页面。在该页
2、面中用ListView显示数据库中存储的每一条日志信息, 具体包括:日志标题、日志的建立或修改时间。如实验2图4所示。4 .保存日志信息在日志编辑页面中单击发布日志按钮时,将当前日志信息保存在数据库中(包括日志标题、创 建或修改时间(获取系统时间)、日志内容)。三、实验步骤1、保存登录信息步骤:新建一个复选框,点击了复选框“记住账号”后,创立一个名为“prefile”的配置文件,然后 将登录的账号保存到文件中。在下一次翻开登陆界面时,将之前存储的账号取出,放到输入框中。代码实现:public class MainActivity extends AppCompatActivity 实现效果:C
3、导入向导EE导出向导V笈选向导IS网格查看兰表单查看:箭主:L 日志 main (11111)-表文件。查看 曹匚 瞽助_id时间内容12021-11-05 09:17:18111111卜|y12021-11-05 09:18:311111113112021-11-05 09:21:3011114 ,保存日志信息在日志编辑页面中单击发布日志按钮时,将当前日志信息保存在数据库中(包括日志标题、创 建或修改时间(获取系统时间)、日志内容)。步骤:先获取SharePreferenced对象,添加键值对的数据,判断是否的是第一次创立数据表,防 止屡次创立数据表。将写在编辑框的内容与系统时间存储在Con
4、tentvalues中,同时将内容插入到数 据库中,点击“发表”按钮后跳转回日记显示页面。代码实现:public class DirayActivity extends AppCompatActivity private ImageView back;private EditText content;private EditText title;private Button publish;SQLiteDatabase db;private String time;String title 1 = null;String contentl 二 null;Overrideprotected vo
5、id onCreate(Bundle savedlnstanceState) super.onCreate(savedlnstanceState);setContentView(R.layout.activity_diray);back = (ImageView) findViewByld(R.id.back);title = findViewByTd(R.id.title);content = findViewByld(R.id.content);publish = findViewById(R.id.publish);翻开或创立数据库与数据表db 二 openOrCreateDatabas
6、e(nDatabase3.dbn, MODE_PRIVATE, null);SharedPreferences sp;sp = this.getSharedPreferences(nconfig4n, MODE_PRIVATE);if (sp.getString(nisfirstn, null) = null) SharedPreferences.Editor editor = sp.edit();editor.putStringCisfirst,“yes);存入账号editor mit();db.execSQL(MDROP TABLE IF EXISTS 日志”);String sql=CR
7、EATE TABLE 日志(Jd INTEGER PRIMARY KEY AUTOINCREMENT, 标题 VARCHAR,时间 VARCHAR,内容 VARCHAR)”;db.execSQL(sql);publish.setOnClickListener(new ClickEvent();back.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View view) Intent intent = new Intent(DirayActivity.this, OptionsMenuActiv
8、ity.class);startActivity(intent);finishQ;);class ClickEvent implements View.OnClickListener Overridepublic void onClick(View view) title 1 = title.getText().toString();content 1 = content.getText().toString();SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd HH:mm:ssn);time = sdf.format(new Dat
9、e();Contentvalues cv = new ContentValues();cv.put(标题”,title 1);cv.put(时间”,time);cv.put(内容”,content 1);db.insert(日志”,null, cv);)protected void onStopO super.onStopO;db.closeQ;)实现效果:L 1 日志 main (11111)-表文件 编相 查看 窗匚 帮助导入向导 6导出向导 V标选向导起网格亘看 5表单直看亡 苗注B内容1111111111111111jd标飘时间1yi2021-11-05 09:17:183112021
10、-11-0509:21:30yi2021-11-05 09:18:31四、实验总结通过实验,初步了解了 SQLite的一些基本操作,但在实验3, 4中,一开始点击日记页面,页 面直接崩溃,但代码没有问题,后来发现由于是第一次运行,先执行的是查询数据表操作,导致程 序无法正常运行,最后先把查询局部注释掉,运行一次后,将注释局部还原,再次运行,问题顺利 解决。private Button button 1;private Button button;登录private EditText count;private EditText password;private CheckBox chk;复选框
11、String username二null;String pass=null;String name二null;String passwordR=null;申明简单存储sharedpreferencesprivate SharedPreferences sPreferences;Overrideprotected void onCreate(Bundle savedlnstanceState) super.onCreate(savedlnstanceState);setContentView(R.layout.activity_main);count 二 findViewByld(R.id.co
12、unt);password=findViewById(R.id.password);button !=(Button)findViewById(R.id.button 1);chk=(CheckBox) GndViewById(R.id.chk);复选框buttonl .setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) Intent itl = new Intent(getApplicationContext(),ZhuceActivity.class);/ startActivi
13、ty(itl);startActivityForResult(itl ,1););button=(Button)findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) username=count.getText().toString();pass=password.getText().toString();if (username.isEmpty()|pass.isEmpty()Toast.makeText(getApp
14、licationContext(),n 请输入账号密码 H,Toast.LENGTH_LONG).show();)if (!username.equals(nyuanjien)Toast.makeText(getApplicationContext(),n 账 号 不 正 确 Toast.LENGTH_LONG).show();)if (username.equals(name)&!pass.equals(passwordR)Toast.makeText(getApplicationContext(), “ 密 码 错 误 ”, Toast.LENGTH_SHORT).show();)if(u
15、sername.equals(name)&pass.equals(passwordR)&!passwordR.isEmpty()&!name.isEmpty()Toast.makeText(getApplicationContext(),H 登 录 成 功 Toast.LENGTH_LONG).show();Intent intent=new Intent(MainActivity.this,DActivity.class);start Activity (intent);)if (chk.isChecked()Log. i(执行了“,“记住密码)得到简单存储的编辑器SharedPrefere
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 移动 应用 开发 技术 数据 存储
限制150内