android 4

字数 307阅读 36

SharedPreferences-存储数据
一.SharedPreferences是数据持久化,数据能够被存储起来,不会被改变,程序退出后,我们再次运行的话,数据还在,就是数据持久化。
2.用途:比如做引导界面;手机qq登陆,等
我们来看看代码吧:

//系统会自动创建一个名字叫Share
SharedPreferences    sharedPreferences=getSharedPreferences("SharedPreference_name", Context.MODE_PRIVATE);
SharedPreferences.Editor editor=sharedPreferences.edit();
editor.putBoolean("first_into",false);    //这里你可以putInt等
editor.commit();

这里是保存的数据,那么我们在开始的时候应该setdata创建数据,我们以一个例子看下

private void setdata(){   
 SharedPreferences sharedPreferences=getSharedPreferences("SharedPreference_name", Context.MODE_PRIVATE);  

first_into=sharedPreferences .getBoolean("first_into",true);     //读取数据
      if(first_into==false){    
    startActivity(new Intent(First_page_activity.this,MainActivity.class));  
         finish();  
  }   else { 
 button=(Button)findViewById(R.id.button_one);  
 
        button.setOnClickListener(new View.OnClickListener() {    
           @Override            
   public void onClick(View view) {            
     startActivity(new Intent(First_page_activity.this,Second_page_activity.class));                   

    finish();      
         }     
      });   
 }}

代码有些乱啊,第一次使用代码框。
当然,我们还可以修改(就是在写一次editor.putInt(),删除editor.remove("key")
另外editor.applys()是和网络相关的,后台写数据,另开线程的
二.管理文件
1.存储:分为内部存储和外部存储
获取读取外部存储的权限—manifest:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
Internal storage->
getFilesDir()是返回一个File,代表我们app的internal目录
getCachDir()也是返回一个File,代表app的internal缓存的目录
创造文件:File file=new File(getFilesDir(),"text.tex");
file.craeatNewFile() ->这里会出现异常,alt+enter选择捕捉异常就好啦
2.读取各个目录的文件

直接读取: 
   //打开文件
WebView webview=new WebView(this);
                   webview.loadUrl("file:///android_asset/test.html")
     InputStream inputstream=getResource().getAssets().open("test.html")
//读列表
String[] filenames = getAssets().list("images");
// 读图片
InputStream inputStream = getAssets().open("images/dog.jpg");
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
ImageView imageView = new ImageView(this);
imageView.setImageBitmap(bitmap);

读音乐

    AssetFileDescriptor assetFileDescriptor = getAssets().openFd("libai.mp3");    MediaPlayer player = new MediaPlayer();  
  player.reset(); 
   player.setDataSource(       
           assetFileDescriptor.getFileDescriptor(),    
           assetFileDescriptor.getStartOffset(), 
           assetFileDescriptor.getLength());  
  player.prepare(); 
   player.start();
}

读sd卡

void testSDCard(){    
 File file = new File("/sdcard/test/a.txt");  
 String filePath = Environment.getExternalStorageDirectory().getAbsolutePath();    
Environment.getDataDirectory(); // 获取Android中的data数据目录   
 Environment.getDownloadCacheDirectory();    
Environment.getExternalStorageDirectory();
}

推荐阅读更多精彩内容