程序在模拟器中运行前,还必须在
AndroidManifest.xml
中注册两个用户权限,分别是加
载卸载文件系统的权限和向外部存储器写入数据的权限
AndroidManifest.xml
的核心代码如下:
<uses-permission
android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS
">
</uses-permission>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</uses-
permission>
activity_main.xml内容如下:
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="生成随机数" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_alignParentRight="true"
android:text="点击存入文件" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="23dp"
android:text="点击生成随机数" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:layout_marginTop="35dp"
android:text="随机数" />
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="生成随机数" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_alignParentRight="true"
android:text="点击存入文件" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="23dp"
android:text="点击生成随机数" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:layout_marginTop="35dp"
android:text="随机数" />
MainActivity内容如下:
package com.example.ttt;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView textView1,textView2;
Button button1,button2;
private String num="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mytruth();
myonclick();
}
private void mytruth() {
textView1=(TextView)findViewById(R.id.textView1);
textView2=(TextView)findViewById(R.id.textView2);
button1=(Button)findViewById(R.id.button1);
button2=(Button)findViewById(R.id.button2);
}
private void myonclick() {
OnClickListener onClickListener=new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch (arg0.getId()) {
case R.id.button1:
for (int i=0;i<10;i++) {
num+=Math.random()+"\n";
}
textView2.setText(num);
break;
case R.id.button2:
String fileName="SdcardFile-"+System.currentTimeMillis()+".txt";
File dir=new File("/sdcard/");
if(dir.exists()&&dir.canWrite())
{
File newFile=new File(dir.getAbsolutePath()+"/"+fileName);
FileOutputStream fos=null;
try {
newFile.createNewFile();
if (newFile.exists()&&newFile.canWrite()) {
fos=new FileOutputStream(newFile);
fos.write(num.getBytes());
textView1.setText(fileName+"文件写入SDcard");
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
try {
fos.flush();
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
break;
default:
break;
}
}
};
button1.setOnClickListener(onClickListener);
button2.setOnClickListener(onClickListener);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView textView1,textView2;
Button button1,button2;
private String num="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mytruth();
myonclick();
}
private void mytruth() {
textView1=(TextView)findViewById(R.id.textView1);
textView2=(TextView)findViewById(R.id.textView2);
button1=(Button)findViewById(R.id.button1);
button2=(Button)findViewById(R.id.button2);
}
private void myonclick() {
OnClickListener onClickListener=new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch (arg0.getId()) {
case R.id.button1:
for (int i=0;i<10;i++) {
num+=Math.random()+"\n";
}
textView2.setText(num);
break;
case R.id.button2:
String fileName="SdcardFile-"+System.currentTimeMillis()+".txt";
File dir=new File("/sdcard/");
if(dir.exists()&&dir.canWrite())
{
File newFile=new File(dir.getAbsolutePath()+"/"+fileName);
FileOutputStream fos=null;
try {
newFile.createNewFile();
if (newFile.exists()&&newFile.canWrite()) {
fos=new FileOutputStream(newFile);
fos.write(num.getBytes());
textView1.setText(fileName+"文件写入SDcard");
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
try {
fos.flush();
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
break;
default:
break;
}
}
};
button1.setOnClickListener(onClickListener);
button2.setOnClickListener(onClickListener);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}