精华内容
下载资源
问答
  • 安卓数据存储

    2015-06-23 18:02:36
    这个文档主要介绍了安卓的几种数据存储方式,还有SQLite建库,建表,增删改差方法的源代码
  • 安卓数据存储总结

    2015-01-18 15:11:56
    可以通过我的这个总结,知道安卓数据存储的方式方法,怎么用
  • 标题:安卓数据存储知识总结 Android中的SharedPreferences存储数据方式

    标题:安卓数据存储知识总结

    1. Android中的SharedPreferences存储数据方式
      SharePreferences是用来存储一些简单配置信息的一种机制,使用Map数据结构来存储数据,以键值对的方式存储,采用了XML格式将数据存储到设备中。例如保存登录用户的用户名和密码。只能在同一个包内使用,不能在不同的包之间使用,其实也就是说只能在创建它的应用中使用,其他应用无法使用。

    修改和存储数据
    1).根据Context的getSharedPrerences(key,【模式】)方法获取SharedPreference对象。
    2).利用SharedPreference的editor()方法获取Editor对象。
    3).通过Editor的putXXX()方法,将键值对存储数据。
    4).通过Editor的commit()方法将数据提交到SharedPreference内。
    获取SharedPreferences对应有3种方法:
    (1)Context类中的getSharedPreferences()方法
    getSharedPreferences(String name,int mode);
    参数name:保存的文件名,若该文件不存在,则会在创建Editor时创建。
    参数mode:三种形式
    MODE_PRICATE:指定该sharedPreferences数据只能被本应用程序读、写。
    MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读、但不能写。
    MODE_WORLD_WRITEABLE:指定该SharedPreferences数据能被其他应用程序读写。
    (2)Activity类中的getPreferences()方法
    (3)PreferenceManager类中的getDefaultSHaaredPreferences()方法区别:
    调用Context对象的getSharePreferences()方法获得的SharedPreferences对象可以被统一应用程序下的其他组件共享。
    调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用。
    上述实在同一个应用程序中进行数据存储,若需要操作另外一个应用中的Sharedpreference。
    1)在创建SharedPreferences时,指定MODE_WORLD_READABL模式,表明该SharedPreferences数据可以被其他程序读取。
    2)创建其他应用程序对应的Context;
    Context pvCount = createPackageContex(String packname,Context.CONTEXT_JGNORE_SECURITY);这里的packname就是其他程序的包。
    3)使用其他程序的的Context获取对应的SharedPreferences read = pvCount.getSharePreferences(“lock”,Context.MODE_WORLD_READABLE);
    4)如果是写入数据,使用Editor接口即可,所有其他造作均和前面一致。
    获得Shared Preferences中的数据,用Sharedpreferences对象的getString(String key,String default);若没有对应的键,则返回值为default。
    但是SharedPreferences中能存储boolean、float、int、String、long这五种基本数据类型。

    展开全文
  • 安卓数据存储方式

    千次阅读 2013-06-29 23:19:11
    安卓数据存储--三种基本方式 1 通过SharedPreferences存储 SharedPreferences:负责读取程序的Preferences数据 保存的是MAP类型,存储简单地数据 步骤: getSharedePreferences(String name,int MODE); 存储: ...
    Log.i() 

    安卓数据存储--三种基本方式
    1  通过SharedPreferences存储
    SharedPreferences:负责读取程序的Preferences数据
    保存的是MAP类型,存储简单地数据
    步骤:
    getSharedePreferences(String name,int MODE);
    存储:
    SharedPreferences setttings =getSharePreferences(SETTING_INFOS,0)
    setttings.edit()
    .putString(NAME,text1.getText().toString())
    .putString(PASSWORD,text2.getText().String())
    .commit();
    提取:
    SharedPreferences settings=getSharedPreferences (SETTING_INFOS,0)
    String name=settings.getString(NAME,"");
    String passwd=settings.getString(PASSWORD,"");
    text1.setText(name);
    text2.setText(passwd);
    *********************************************************************************
    *********************************************************************************


    2 文件存储
    FileInputStream和FileOutPutStream
    Context提供了两个方法:


    openFileInput(String fileName):打开文件对应的输入流
    openFileOutput(String fileName,int mode):打开对应的输出流
    还有其他方法访问文件夹:
    getDir(String name,int MODE);
    getFilesDir();
    deleteFile(String name);


    mode:
    MODE_PRIVATE:当前程序可用
    MODE_APPEND: 追加模式写入
    MODE_WORLD_READABLE:其他程序可读
    MODE_WORLD_WRITEBLE:其他程序可写


    示例:
    public FileTest extends Activity{
    @Override 
    public void onCreate(Bundle savedInsatnceState)
    {
    super.onCreate(savedInstancestate);
    setCotentView(R.layout.main);
    BUtton read=(Button)findViewById(R.id.read);
    Button write=(Button)findViewById(R.id.write);
    final EditText edit1=(EditText)findViewById(R.id.edit1);
    final EditText edit2=(EditText)findViewById(R.id.edit2);
    write.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v){
    write(edit.getText.toString());
    edit1.setText("");
    }
    });
    read.setOnClickListener(new OnCilckListener{
    public void onClick(View v){
    edit2.setText(read());
    }
    });
    }
    private String read(){
    try{
    FileInPutStream fis=openFileInput(FILE_NAME);
    byte[] buff=new byte[1024];
    int hasrad=0;
    StringBuilder sb=new SreingBuilder("");
    while((hasread=fis.read(buff))>0){
    sb.append(new String(buff,0,hasread));
    }
    return sb.toString();


    }
    }
    private void write(String content){
    try{
    FileOutPutStream fos=openFileOutput(FILE_NAME,MODE_APPEND);
    printSream  ps=new printStream(fos);
    pa.println(content);
    ps.close();
    }catch(Exception e){e.printStackTrace();}
    }
    }
    ******************************************************************************
    ******************************************************************************




    3 数据库存储
    SQLite数据库:
    SQLiteDatabase:


    android自带的一个数据路,底层是一个数据库文件。作用类似于JDBC(java databse connectivity)的Connnection接口
    既可以使用sql语句操作管理数据库,也可以使用对象示例中定义的一些方法:


    创建数据路对象:
    static SQLiteDatabase openOrCreateDatabase(String path,SQLiteDatabase.CursorFactory factory);
    static SQLiteDatabase openDatabase(String path,SQLiteDatabase.CursorFactory factory,int flags);


    操作数据库:
    //使用sql语句
    execSQL(String sql);
    execSQL(String sql,Obeject[] bindArgs);
    //返回一个Cursor对象
    //使用方法
    insert,update,delete,query,rawquery
    查询方法都返回指针类-Cursor
    该类的对象有几个移动指针的函数:
    move(int offset); //移动到指定行
    boolean moveToFirst(); //
    boolean moveToLast(); //
    boolean moveToNext(); //移动到下一行
    boolean moveToPrevious();
    boolean moveToposition(int position);






    SQLiteOpenHelper:
    用于管理数据库的工具类
    常用方法:
    SQliteDatabase getReadableDatabase();
    SQliteDatabase et writableDatabese();
    onCreate();
    onUpdate();
    close();
    示例:
    public class MyDatabaseHelper extends SQLiteDatabaseHelper
    {
    final String CREATE_TABLE_SQL="create table dict(_id integer primary key antoincrement,word,detail)";
    public MyDatabaseHelper(Context context,String name,int version){
    super(context,name,null,version);
    db.execSQL("insert into dict values(null,?,?)",new String[]{word,detail});
    }
    @Override


    }
    //定义一个继承了DatabseHelper类的MyDatabseHelper类
    //第一次调用getW/RDatabse是自动调用onCreate方法,所以重写了onCreate方法
    public Dict extends Activity
    {
    MyDatabaseHelper dbHelper;
    Button inseart=null;
    Button search=null;
    public void onCreate(Bundle savedInsatnceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    dbHelpre=new MyDatabaseHelper(this,"myDict.db",1);
    insert=(BUtton)findVIewById(R.id.insert);
    serach=(Button)findVeiwById(R.id.serach);
    insert.setOnClickLisener(new OnClickListener(){
    @Override
    public void onClick(View source){
    String word=((EditView)findViewById(R.id.wrod)).getText().toString();
    String detail=((EditVIew)findViewById(R.id.detail))getText.toString();
    insertData(dbHelper.getReadableDatabase(),word,detail);
    Toast.makeText(Dict.this,"添加成功",Toast.SHORT).show();
    }
    });
    serach.setOnClickLisetner(new OnCLickListener(){
    @Override
    public void onClick(View v){
    String key=(EditView)findViewById(R.id.key).getText().toString();
    Cursor cursor=dbHelper.getReadableDatabase().rawQuery("select * from dict where word like ? or detail like ?",new String[]{"%"+key+"%","key"+key"%"});
    Bundle bundle=new Bundle();
    data.putSerializable("data",converCursorToList(cursor)); //data为键值
    Intent intent=new Intent(Dict.this,ResultActivity.class);
    intent.putExtras(data);
    startActivity(intent);
    }
    });
    }
    protected ArrayList<Map<String,String>> coverCursorToList(Cursor cursor){
    ArrayList<Map<String,String>>result=new ArrayList<Mop<String,String>>();
    while(cursor.moveToNext()){
    Map<String,String>map=new HashMap<String,String>();
    map.put("word",cursor.getString());
    map.put("detail",cursor.getString());
    }
    return result;
    }
    private void insertData(SQLiteDatabase db,String word,String detail){
    db.execSQL("insert into dict values(null,?,?),new String[](word,detail);")
    }
    @Override
    public void onDestroy{
    super.onDestroy();
    if(dbHelper!=null){dbHelper.close();}
    }
    }
    //ResultActivty
    pubic class extends Activity
    {
    @Override
    public void onCreate(Bundle InstanceState){
    super.onCreate(Bundle InstanceState);
    setContentView(R.layout.popup);
    LisView list=(ListView)findVIewById(R.id.show);
    Bundle data=new BUndle();
    data=intent.getExtras();
    List<Map<String,String>>list=(List<Map<String,String>>)dara.getSerializable("data");
    SimpleAdapter adapter=new SimpleAdapter(ResultActivity,list,R.layout.line,new String[]{"word","detail"},new int[]{R.id.word,R.id.detail});
    list.setAdapter(adapter);
    }
    }
    展开全文
  • 安卓数据存储特点

    2013-10-26 16:04:00
    安卓数据存储分为五大部部分 一、共享存储 共享文件可读可写,有专门的xml文件格式 文件路径为:data/data/项目包名称/shared_prefes 二、数据库存储 使用SQLite数据库存储 文件路径为:data/data/项目包名称/...

    安卓数据存储分为五大部部分

    一、共享存储

    共享文件可读可写,有专门的xml文件格式 文件路径为:data/data/项目包名称/shared_prefes

    二、数据库存储

    使用SQLite数据库存储 文件路径为:data/data/项目包名称/databases

    三、内部存储

    1、res/raw目录中,只读文件,没有目录结构,只有一层结构,没有文件路径

    2、assets目录中,只读文件,单独文件存储有大小限制,文件路径为:file:///android_asset/文件名

    3、files目录中,可读可写文件 文件路径为:data/data/项目包名称/files  【this.getFilesDir()可获得data/data/项目包名称/files的根目录】

    4、caches目录中,和files差不多,唯一就是在存储文件时,如果内存不够的话,那么系统将会自动删除,所以不建议使用caches存储永久数据 文件路径为:data/data/项目包名称/cache

    四、外部存储

    首先搜查有没有外部存储设备SD卡,有的话,使用SD卡存储数据

    五、网络存储

    1、解析文件json

    2、解析文件xml

    xml文件解析有三种方式:DOM、SAX、PULL

    DOM:装载全部文件,然后开始解析,适应小型XML文件解析

    SAX:执行一行,解析一行,语法比较复杂

    PULL:在SAX的基础上简化语法,由Android提供解析方案

    注:【根据XML文件的结构,SAX和PULL会只用一些标记来帮助解析文件数据,这些标记有:开始文档、结束文档、标签开始、标签结束、内容部分】

    转载于:https://www.cnblogs.com/leehyuan/p/3389581.html

    展开全文
  • 对数据存储还不怎么熟悉的同学可以看一下这套教程 ,自己看了还不错,把他分享出来,感兴趣的同学可以去看看哟 直达地址:安卓数据存储

    对数据存储还不怎么熟悉的同学可以看一下这套教程
    ,自己看了还不错,把他分享出来,感兴趣的同学可以去看看哟
    直达地址:安卓数据存储
    在这里插入图片描述

    展开全文
  • 分享一部比较好的教程,从环境搭建开始,教程内容有实用性,有兴趣的同学可以拿去更新下技能包,附上图片 下载地址:安卓数据存储开发网络通讯开发完整教程
  • 涉及内部存储、外部存储
  • 安卓数据存储五种方式数据存储:五种: Shared Preferences 参数共享 Internal Storage 内部存储 External Storage 外部存储 (sdcard) SQLite Databases 数据库存储 Network Connection 网络存储 1、Shared ...
  • (此博文使用的工具为Eclipse) 首先介绍一下SharedPreferences是使用键值对的方式来存储数据的,每次存储数据的时候需要给这条数据提供一个对应...1、将数据存储到SharedPreferences中: 要想使用SharedPreferenc...
  • .java文件 ... import androidx.appcompat.app.AppCompatActivity; import android.content.SharedPreferences; import android.os.Bundle;...import android.view.View;...import android.widget.EditText;...
  • 安卓数据存储与IO

    2019-09-12 13:43:59
    1.SharedPreferences:用于存储程序的一些信息,这些信息格式较简单,例如配置信息,是否打开音效等,SharedPreferences保存信息基本使用键值对的方法,SharedPreferences接口主要负责读取应用程序的Preferences数据,...
  • //注意不能直接向外部存储写文件,所以要想外部存储写文件还必须要有权限才可以,因此需要在androidManifest.xml文件中加入写入外部文件的的权限 核心代码段@Override protected void onCreate(Bundle ...
  • SharePreferences是使用键值对的方式来存储数据的。当保存一条数据的时候可以通过这个键把相应的值取出来。...1)将数据存储到SharePreferences中 想使用SharePreferences来存储数据,首先需要获取到S
  • 安卓数据存储四大方式,分别是SharedPreferences、SQLite、文件(File)和ContentProvider,其中SharePreferences与SQLite都是轻量级数据存储方式,但与之不同的是,SQLite是一个轻量级关系型数据库,可以实现数据的...
  • 安卓数据存储困惑

    2016-05-23 10:08:07
    安卓开发数据库中遇到一些困惑,和想法,希望与大家讨论,如有不同观点可以及时回复,共同探讨。
  • Android 数据存储方案 SharedPreferences 存储 SharedPreferences采用键值对存储 存储再share_prefs文件夹中 写数据步骤 第一步. 先获取SharedPreferences对象 有三个方法. 1.Context类中的getSharedPreferences()...
  • http://www.cnblogs.com/playing/archive/2010/09/15/1827006.html 转载于:https://www.cnblogs.com/bbglz/p/4602712.html
  • Context类中提供了一个openFileOutput()方法,用于数据存储到指定的文件中。此方法接收两个参数(参数名,操作模式)。首先是参数名,它表示文件创建的时候使用的名称。注意路径不能被改变,路径默认存在 /data/data...
  • 【Android】数据存储(一) SharedPreferences详解0.222016.04.29 00:13:33字数 919阅读 13345SharedPreferences介绍 在Android开发中,经常需要将少量简单类型数据保存在本地,如:用户设置。这些需要保存的数据...
  • sharepreference中怎么存类似于数组的数据,类似于分类存储,每个类有几个内容
  • 存储在手机内存卡里面要在manifests下的AndroidManifest.xml里面给权限: <!-- 内存卡读和写的权限 --> 存储在手机内存里面的查看文件的路径是: 在夜神模拟器里面的查看是:文件管理----...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,783
精华内容 713
关键字:

安卓数据存储