一、如何将数据保存到SD卡上面
Android一部分是内部存储空间ROM,可以理解这个ROM就是我们的Windows的电脑系统
盘,另外一部分就是外置存储空间,也就是我们的SD卡,他就类似于我们电脑的外插存储设备。
SD卡的路径获取,就是和前面的一样,也是有API获取的;

File externalStorageDiretory = Environment.getExternalStorageDirectory();
 Log.d(TAG,“Ext-FilePath ==” +externalStorageDiretory);


怎么样知道手机有没有SD卡?
我们通过一个API来判断这个SD卡是否已经挂载了

else if (v == mCheckSdCardBtn){
 //点击的是检查是否有SD卡的按钮
 String state = Environment.getExternalStorageState();
 if (state.equals(Environment.MEDIA_MOUNTED)) {
 Log.d(TAG,“SD卡已经挂载成功,也是可用的!!!”);
 }else if (state.equals(Environment.MEDIA_UNMOUNTED)){
 Log.d(TAG,“SD卡已经删除了”);
 }


当运行程序时出现如上错误,应该修改你的Environment.java文件中的
VersionCode后面的值。
!!!备注:运行一个项目程序时,如果无法运行,
要在AndroidMainfest.xml文件中将该项目程序中的
端口打开,关闭其他端
口。!!!

textview控件属性
LinearLayout控件属性
LinearLayout的排列方式有垂直和水平
当LinearLayout的排列方式为vertical,也就是垂直方向时:
LinearLayout里面的子view设置layout_gravity在垂直方向上的设定是无效的。并且子
view设定的layout_gravity是在前两个的基础位置上来进行摆放的。
当LinearLayout的排列方式为horizontal,也就是水平方向时:
LinearLayout里面的子view设置layout_gravity在水平方向上的设定是无效的。并且子
view设定的layout_gravity是在前两个的基础位置上来进行摆放的。
权重需要记住的就是公式
控件的实际大小 = 控件设定的大小 + (布局剩余的大小) * 布局的比例

布局剩余的大小 = 父布局的大小 - 子布局大小之和
RelativeLayout控件属性
1.alignParent系列属性
这一系列属性是根据父布局来定位,想跟哪对齐就把哪个属性设置成true;

andoid:ayout_alignParentLeft=“true”,左对齐
 android:layout_alignParentRight=“true”,右对齐,
 android:layout_alignParentTop=“true”,顶端对齐,
 android:layout_alignParentBottom=“true”,底部对齐,
 android:layout_alignParentStart=“true”,起始位置对齐
 android:layout_alignParentEnd=“true”,结束为止对齐。


2.center系列属性
这一系列属性是直接指定组件位于中心。

android:layout_centerInParent=“true” ,相对父容器中心对齐,
 android:layout_centerHorizontal=“true” ,相对父容器水平对齐,
 android:layout_centerVertical=“true”,相对父容器垂直对齐 。


3.根据兄弟组件来定位

android:layout_above="@id/tv",在指定组件的上方(不一定是正上方)
 android:layout_below="@id/tv",在指定组件的下方(不一定是正下方)
 android:layout_toLeftOf="@id/tv",在指定组件的左侧
 android:layout_toRightOf="@id/tv",在指定组件的右侧
 android:layout_alignTop="@id/tv",跟指定组件上边界对齐,
 android:layout_alignBottom="@id/tv",跟指定组件下边界对齐,
 android:layout_alignLeft="@id/tv",跟指定组件左边界对齐,
 android:layout_alignRight="@id/tv",跟指定组件右边界对齐。


获取SD卡的可用空间
具体实现方式。。。

else if (v == mGetFreeSizeBtn){
 File exFile1 = Environment.getExternalStorageDirectory();
 Log.d(TAG,“Ext-FilePath ==” +exFile1);
 long freeSpace = exFile1.getFreeSpace();
 //把long类型转换为直观的空间大小,比如说多少Mb。
 //下面的Formatter包,记得导入的是 import android.text.format.Formatter;
 String sizeText = Formatter.formatFileSize(this,freeSpace);
 Log.d(TAG,"free size(可用空间) == "+sizeText);
 当看到:D/SDCardDemo: Ext-FilePath ==/storage/emulated/0
 D/SDCardDemo: Ext-FilePath ==/storage/emulated/0
 free size(可用空间) == 5.71 GB


即表示按钮功能实现成功。。
SharePreference
SharePreference使用步骤

  1. 第一步,拿到这个SharePreference
    mSharedPreferences = this.getSharedPreferences(“setting_info”, MODE_PRIVATE);
    //这里面的this是指的是上下文Context,在视频中我们是在Activity里面所以直接使用this,因为
    这个Avtivity间接地结成了Context。
    2.第二步,进入编辑模式
    SharedPreferences.Editor edit = mSharedPreferences.edit();
    //拿到这个编辑器
    3第三步,保存数据
    //保存要保存的数据,类型有String,StringSet,int,boolean等等
    edit.putBoolean(“state”,isChecked);
    4.第四步,提交编辑器
    edit.commit();
    这四个步骤,就可以把数据保存到SharePreference里了。