Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

时间:2024-01-19 08:27:14

效果:

1.点击图标进入页面二

2.页面2图片暂停显示5秒进入页面三

3.点击页面三登陆按钮,打开登陆对话框,输入密码进入页面四

点击下载按钮,显示水平进度条

点击保存和获取用户名和密码 进入页面六 操作SharedPreferences

点击文本和文件 进入页面八

4.页面四是一个用BaseAdapt适配器加载的ListView,点击相册行时,跳转至页面五

点击地图时,跳转值页面七,gridview视图(图+字)

5.页面五是一个用GridView建的网格视图(图)

6.页面六 操作SharedPreferences

7.页面八,操作文本和文件的保存和获取

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

Android——用对话框做登陆界面(自定义对话框AlertDialog,多线程,进度条ProgressDialog,ListView,GridView,SharedPreferences存,读数据,存取文本,assets文件)

MainActivity.java

package com.example.chenshuai.test404;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View; public class MainActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} public void onclick(View view)
{
Intent intent = new Intent(this,Activity1.class);
startActivity(intent);
}
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.chenshuai.test404.MainActivity"> <ImageButton
android:layout_width="90dp"
android:layout_height="90dp"
android:src="@drawable/logo"
android:onClick="onclick"/>
</RelativeLayout>

Activity1.java

package com.example.chenshuai.test404;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity; import java.util.Timer;
import java.util.TimerTask; /**
* Created by chenshuai on 2016/4/3.
*/
public class Activity1 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity1_layout); //图片暂停5秒后显示
final Intent it = new Intent(this, Activity2.class); //你要转向的Activity
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
startActivity(it); //执行
}
};
timer.schedule(task, 1000 * 5); //5秒后 }
}

activity1_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"> <ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/denglu"/> </LinearLayout>

Activity2.java

package com.example.chenshuai.test404;

import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast; /**
* Created by chenshuai on 2016/4/3.
*/
public class Activity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2_layout); } public void onclik1(View view)
{ //获取加载器
LayoutInflater layoutInflater = getLayoutInflater();
//加载layout文件
View vi_1 = layoutInflater.inflate(R.layout.login_layout,null);
//添加按钮
new AlertDialog.Builder(this)
.setView(vi_1)
.setNegativeButton("取消", null)
.setPositiveButton("登陆", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) { AlertDialog al = (AlertDialog) dialog; EditText pwd = (EditText) al.findViewById(R.id.pwd); String str = pwd.getText().toString(); if (str.equals("123")) {
Intent intent = new Intent(Activity2.this, Activity3.class);
startActivity(intent);
} else {
Toast.makeText(Activity2.this, "密码错误!", Toast.LENGTH_SHORT).show();
} }
})
.show();
}
public void onclick2(View v)
{
final ProgressDialog pd = new ProgressDialog(this);
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); pd.setMessage("下载进度");
pd.show(); //创建thread实例 重写run方法 启动多线程
new Thread()
{
@Override
public void run() {
super.run();
for (int i = 0;i<=pd.getMax();i++)
{
try {
Thread.sleep(100);
}catch (Exception e)
{}
pd.setProgress(i);
}
pd.dismiss();
}
}.start();
} public void onclick3(View view)
{ Intent intent = new Intent(this,Activity5.class);
startActivity(intent);
}
public void onclick4(View view)
{
Intent intent = new Intent(this,Activity7.class);
startActivity(intent);
} }

activity2_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/anniu1"
android:text="点击登陆"
android:textSize="20dp"
android:onClick="onclik1"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/anniu2"
android:text="点击下载文件"
android:textSize="20dp"
android:onClick="onclick2"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="点击保存用户名和密码 key/value"
android:textSize="20dp"
android:background="@drawable/anniu13"
android:onClick="onclick3"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="点击文本和文件"
android:textSize="20dp"
android:background="@drawable/anniu1"
android:onClick="onclick4"/> </LinearLayout>

login_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:src="@drawable/touxiang"
android:layout_marginTop="100dp"
android:layout_gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="15275969278"
android:textSize="20dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
/>
<EditText
android:layout_width="350dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:hint="请填写密码"
android:inputType="textPassword"
android:drawableLeft="@drawable/suo1"
android:layout_marginTop="20dp"
android:id="@+id/pwd"
/> </LinearLayout>

Activity3.java

package com.example.chenshuai.test404;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView; import java.util.ArrayList;
import java.util.List; /**
* Created by chenshuai on 2016/4/4.
*/ public class Activity3 extends Activity {
List<Biaozhi> bz; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.base_layout); ListView base_1 = (ListView)findViewById(R.id.base_1); bz = new ArrayList<Biaozhi>();
bz.add(new Biaozhi(R.drawable.dazhong,"大众点评"));
bz.add(new Biaozhi(R.drawable.gallery,"相册"));
bz.add(new Biaozhi(R.drawable.maps,"地图"));
bz.add(new Biaozhi(R.drawable.mm,"聊天"));
bz.add(new Biaozhi(R.drawable.netease,"网易新闻"));
bz.add(new Biaozhi(R.drawable.qq,"QQ"));
bz.add(new Biaozhi(R.drawable.settings,"设置"));
bz.add(new Biaozhi(R.drawable.sinaweibo,"新浪微博"));
bz.add(new Biaozhi(R.drawable.stormsmart,"暴风影音"));
bz.add(new Biaozhi(R.drawable.taobao,"淘宝"));
bz.add(new Biaozhi(R.drawable.videoplayer,"视频")); base_1.setAdapter(new mybaseadapt()); base_1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (position == 1)
{
Intent in = new Intent(Activity3.this,Activity4.class); startActivity(in);
}
if (position ==2)
{
Intent in = new Intent(Activity3.this,Activity6.class); startActivity(in);
}
}
});
} //抽象类 要继承并实现抽象方法后才能使用
class mybaseadapt extends BaseAdapter{
@Override
public int getCount() {
return bz.size();
} @Override
public Object getItem(int position) {
return bz.get(position);
} @Override
public long getItemId(int position) {
return position;
} //通过getView来实现Listview
//给视图适配数据返回view视图
//position 数据的下标(第几个视图)
//convertView 可重复使用的视图
//parent 父视图
@Override
public View getView(int position, View convertView, ViewGroup parent) { //如果convertView为null,就加载layout文件
if (convertView == null)
{
//1.获取layout文件 用加载器
LayoutInflater inflater = getLayoutInflater(); convertView = inflater.inflate(R.layout.activity3_layout,null); } //2.把数据放入layout文件中 数据和layout文件的视图组件进行绑定
//(1)从数据源里根据position获取数据
Biaozhi biaozhi = bz.get(position); //(2)获取layout文件的视图组件
ImageView iv_1 = (ImageView)convertView.findViewById(R.id.iv_1);
TextView tv_1 = (TextView)convertView.findViewById(R.id.tv_1); //(3)绑定 数据适配
iv_1.setImageResource(biaozhi.getImage());
tv_1.setText(biaozhi.getName()); //3.返回视图
return convertView;
}
}
}

base_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/base_1"> </ListView>

activity3_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"> <ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/logo"
android:id="@+id/iv_1"/> <LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center_vertical"
android:paddingLeft="20dp"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="微信"
android:textSize="20dp"
android:id="@+id/tv_1"/> </LinearLayout> </LinearLayout>

Activity4.java

package com.example.chenshuai.test404;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView; public class Activity4 extends AppCompatActivity { int img[] = {R.drawable.dazhong,R.drawable.gallery,R.drawable.maps,R.drawable.mm,
R.drawable.qq,R.drawable.settings,R.drawable.sinaweibo,R.drawable.netease,
R.drawable.stormsmart,R.drawable.torchactivity,R.drawable.videoplayer};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_4); GridView grv_1 = (GridView)findViewById(R.id.grv_1); grv_1.setAdapter(new mygridview());
} class mygridview extends BaseAdapter{ @Override
public int getCount() {
return img.length;
} @Override
public Object getItem(int position) {
return img[position];
} @Override
public long getItemId(int position) {
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent) { //先取数据
int imageid = img[position]; //直接构造视图
ImageView imageView =null; if (convertView == null)
{
imageView = new ImageView(Activity4.this); imageView.setLayoutParams(new GridView.LayoutParams(200,200));
}
else
{
imageView=(ImageView)convertView;
}
//给视图绑定数据
imageView.setImageResource(imageid); return imageView;
}
}
}
activity_4.xml
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="4"
android:verticalSpacing="10dp"
android:gravity="center"
android:stretchMode="columnWidth"
android:id="@+id/grv_1"
> </GridView>

Activity5.java

package com.example.chenshuai.test404;

import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast; public class Activity5 extends AppCompatActivity { EditText user;
EditText pwd;
SharedPreferences sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_5); user = (EditText)findViewById(R.id.user);
pwd = (EditText)findViewById(R.id.pwd); //1.获取sp的实例
sp = getSharedPreferences("mydata",MODE_PRIVATE);
} //保存
public void baocunclick(View view)
{
//1.获取数据
String username = user.getText().toString();
String password = pwd.getText().toString(); //判断不为空
if (username.length() == 0 || password.length() ==0)
{ Toast.makeText(Activity5.this, "用户名和密码不为空", Toast.LENGTH_SHORT).show();
}
else
{
//2.用Editor存储数据
//获取Editor
SharedPreferences.Editor editor_1 = sp.edit(); //3.往编辑器里放数据(从上面获取的数据)
editor_1.putString(username,password); //4.提交保存
boolean b = editor_1.commit(); if (b)
{
Toast.makeText(Activity5.this, "保存成功", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(Activity5.this, "保存失败", Toast.LENGTH_SHORT).show();
} } } //获取
public void huoquclick(View view)
{
//1.获取要读的key;
String key = user.getText().toString(); //2.将通过用户名读取的密码放入第二个Edittext
pwd.setText(sp.getString(key,"没有发现用户名"));
}
}

activity_5.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.chenshuai.test404.Activity5"
android:orientation="vertical"> <EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名:"
android:id="@+id/user"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码:"
android:id="@+id/pwd"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"> <Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="保存"
android:id="@+id/baocun"
android:onClick="baocunclick"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="获取"
android:id="@+id/huoqu"
android:onClick="huoquclick"/>
</LinearLayout> </LinearLayout>

Activity6.java

package com.example.chenshuai.test404;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView; import java.util.ArrayList;
import java.util.List; public class Activity6 extends AppCompatActivity { List<Biaozhi> bz;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_6); GridView gv_1 = (GridView)findViewById(R.id.gv_1); bz = new ArrayList<Biaozhi>();
bz.add(new Biaozhi(R.drawable.dazhong,"大众点评"));
bz.add(new Biaozhi(R.drawable.gallery,"相册"));
bz.add(new Biaozhi(R.drawable.maps,"地图"));
bz.add(new Biaozhi(R.drawable.mm,"聊天"));
bz.add(new Biaozhi(R.drawable.netease,"网易新闻"));
bz.add(new Biaozhi(R.drawable.qq,"QQ"));
bz.add(new Biaozhi(R.drawable.settings,"设置"));
bz.add(new Biaozhi(R.drawable.sinaweibo, "新浪微博"));
bz.add(new Biaozhi(R.drawable.stormsmart, "暴风影音"));
bz.add(new Biaozhi(R.drawable.taobao,"淘宝"));
bz.add(new Biaozhi(R.drawable.videoplayer,"视频")); gv_1.setAdapter(new grid_baseadapter());
} //抽象类 要继承并实现抽象方法后才能使用
class grid_baseadapter extends BaseAdapter
{
@Override
public int getCount() {
return bz.size();
} @Override
public Object getItem(int position) {
return bz.get(position);
} @Override
public long getItemId(int position) {
return position;
} //通过getView来实现Listview
//给视图适配数据返回view视图
//position 数据的下标(第几个视图)
//convertView 可重复使用的视图
//parent 父视图
@Override
public View getView(int position, View convertView, ViewGroup parent) { //如果convertView为null,就加载layout文件
if (convertView == null)
{
//1.获取layout文件 用加载器
LayoutInflater inflater = getLayoutInflater(); convertView = inflater.inflate(R.layout.layout_6_1,null); }
//2.把数据放入layout文件中 数据和layout文件的视图组件进行绑定
//(1)从数据源里根据position获取数据
Biaozhi biaozhi = bz.get(position); //(2)获取layout文件的视图组件
ImageView iv_2 = (ImageView)convertView.findViewById(R.id.iv_2);
TextView tv_2 = (TextView)convertView.findViewById(R.id.tv_2); //(3)绑定 数据适配
iv_2.setImageResource(biaozhi.getImage());
tv_2.setText(biaozhi.getName()); //3.返回视图
return convertView;
}
}
}

Biaozhi.java

package com.example.chenshuai.test404;

/**
* Created by chenshuai on 2016/4/7.
*/
public class Biaozhi { private int image; private String name; public int getImage() {
return image;
} public String getName() {
return name;
} public void setImage(int image) {
this.image = image;
} public void setName(String name) {
this.name = name;
} public Biaozhi(int image, String name) {
this.image = image;
this.name = name;
} public Biaozhi()
{ } @Override
public String toString() {
return "Biaozhi{" +
"image=" + image +
", name='" + name + '\'' +
'}';
}
}

Activity_6.xml

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/gv_1"
android:numColumns="4"
android:verticalSpacing="10dp"
android:stretchMode="columnWidth"
>
</GridView>

Activity_6_1.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <ImageView
android:layout_width="120dp"
android:layout_height="120dp"
android:src="@drawable/dazhong"
android:id="@+id/iv_2"/>
<TextView
android:layout_width="120dp"
android:layout_height="wrap_content"
android:text="大众点评"
android:textSize="20dp"
android:gravity="center"
android:id="@+id/tv_2"/> </LinearLayout>

Activity7.java

package com.example.chenshuai.test404;

import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast; import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.PrintStream; public class Activity7 extends AppCompatActivity {
EditText et_1;
EditText et_2; ImageView iv_3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_7); et_1 = (EditText)findViewById(R.id.et_1);
et_2 = (EditText)findViewById(R.id.et_2); iv_3 = (ImageView)findViewById(R.id.iv_3);
} final String FILENAME = "text.txt";
public void baocunwenben_onclick(View view)
{ //1.获取要存储的内容
String content = et_1.getText().toString(); //2.获取输出流 以数据为基准 从手机存储往文件走为输出流
try {
//追加模式
FileOutputStream fos = openFileOutput(FILENAME,MODE_APPEND); //3.构造打印流 PrintStream
PrintStream ps = new PrintStream(fos); //4.写入内容(换行)
ps.println(content); //5.关闭
ps.close();
fos.close(); Toast.makeText(Activity7.this, "保存成功", Toast.LENGTH_SHORT).show(); } catch (Exception e) {
e.printStackTrace();
Toast.makeText(Activity7.this, "保存失败", Toast.LENGTH_SHORT).show();
} }
//获取
public void huoquwenben_onclick(View view)
{ //1.获取输入流 从文件到手机存储
try {
FileInputStream fis = openFileInput(FILENAME); //2.用数组方法读取
//定义读取的数组 byte[] b = new byte[1024];
//3.读出的数据的长度
int i = 0; StringBuilder sbr = new StringBuilder(); //fis.read(b)返回长度
while ((i = fis.read(b))>0)
{
//在这里需要字符串,转为字符串
sbr.append(new String(b,0,i));
} fis.close(); et_2.setText(sbr); Toast.makeText(Activity7.this, "读取成功", Toast.LENGTH_SHORT).show(); } catch (Exception e) {
e.printStackTrace();
Toast.makeText(Activity7.this, "读取失败", Toast.LENGTH_SHORT).show();
}
}
//操作assets内的文件
public void baocuntupianwj_onclick(View view)
{
//1.获取AssetManager
AssetManager assetManager = getAssets(); //2.打开文件 返回输入流 把文件读到内存里
try {
InputStream is = assetManager.open("zixingche.jpg"); //3.获取输出流
FileOutputStream fos = openFileOutput("zixingche2.jpg",MODE_PRIVATE); //4.边读边写
byte[] b =new byte[1024]; int i = 0; while((i = is.read(b))>0)
{
fos.write(b, 0, i);
} fos.close();
is.close(); Toast.makeText(Activity7.this, "保存成功", Toast.LENGTH_SHORT).show(); } catch (Exception e) {
e.printStackTrace();
}
}
//读取文件 从手机内部存储读图片文件
public void huoqutupianwj_onclick(View view)
{
//改变ImageView的图片来源,指向手机存储空间 //1.获取文件存储的绝对路径
String filepath = getFilesDir().getAbsolutePath(); //2.组合完整路径
filepath += "/zixingche2.jpg"; Toast.makeText(Activity7.this, "path= "+filepath, Toast.LENGTH_SHORT).show(); //3.生成位图实例
Bitmap bm = BitmapFactory.decodeFile(filepath); //4.改变ImageView的图片来源 显示图片
iv_3.setImageBitmap(bm);
}
}

Activity_7.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="输入要保存的文本"
android:id="@+id/et_1"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="显示保存的文本"
android:id="@+id/et_2"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"> <Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="点击保存文本"
android:layout_weight="1"
android:onClick="baocunwenben_onclick"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="点击获取文本"
android:layout_weight="1"
android:onClick="huoquwenben_onclick"/> </LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"> <Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="点击保存图片文件"
android:layout_weight="1"
android:onClick="baocuntupianwj_onclick"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="点击获取图片文件"
android:layout_weight="1"
android:onClick="huoqutupianwj_onclick"/> </LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/touxiang"
android:layout_gravity="center"
android:id="@+id/iv_3"
/> </LinearLayout>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.chenshuai.test404"> <application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Activity1">
<intent-filter>
<action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".Activity2">
<intent-filter>
<action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".Activity3">
<intent-filter>
<action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".Activity4">
<intent-filter>
<action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".Activity5">
<intent-filter>
<action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".Activity6">
<intent-filter>
<action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".Activity7">
<intent-filter>
<action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application> </manifest>

AndroidManifest.xml