我创建了一个列表,消息框和主要活动java文件。 当用户点击收件箱按钮时,显示您手机的所有收件箱信息。 当您选择收件箱时,会自动显示我的mainactivity.java编辑框中的内容,当您单击保存按钮时,我的应用程序中的创建文本(.txt)文件
我转发到所有xml文件,重要的是如何选择msg自动显示在编辑框上,并在应用程序中单击save create .txt文件。 当你点击保存按钮时编辑框msg创建txt文件和txt文件数据是同一编辑框msg。
**Mainactivity.java**
package com.example.sharedpreference;
import com.example.sharedpreference.R;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.telephony.SmsManager;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button send,checkdata,Inbox,checkmsg;
private EditText phoneno,editText2;
private TextView Display,message,SMSm;
//private Button save;
String Message,PhoneNo,SMSBody1,phoneNumber1;
/*public void getSmsDeatils(String SMSBody,String phoneNumber){
SMSBody1=SMSBody;
phoneNumber1=phoneNumber;
}*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
phoneno = (EditText) findViewById(R.id.editText1);
editText2 = (EditText) findViewById(R.id.editText2);
Display = (TextView) findViewById(R.id.EditText1);
message = (TextView) findViewById(R.id.textView2);
//SMSm=(TextView) findViewById (R.id.etSmsBody);
//Inbox=(Button) findViewById(R.id.inbox);
send=(Button) findViewById(R.id.send);
checkdata=(Button) findViewById(R.id.checkdata);
//checkmsg=(Button) findViewById(R.id.button1);
checkdata.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
PhoneNo=phoneno.getEditableText().toString();
Message=message.getText().toString();
/*Intent intent = new Intent(context,MainActivity.class);
startActivity(intent);*/
Display.setText("Phone Number-:"+PhoneNo+"\n"+"Message-:"+Message);
//display.setVisibility(View.VISIBLE);
}
});
/*Inbox.setOnClickListener(new OnClickListener() {
private Context context;
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(context,MessageBox.class);
startActivity(intent);
}
});*/
Intent i = getIntent();
String val = "";
if(i.hasExtra("value"))
val = i.getStringExtra("value");
editText2 = (EditText) findViewById(R.id.editText2);
editText2.setText(val);
//checkmsg=(Button) findViewById(R.id.checkmsg);
/*checkmsg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Object result = editText2.getText().toString();
Intent i = new Intent();
i.putExtra("MESSAGE", (Boolean) result);
Intent in = null;
startActivity(in);
}
});*/
Inbox=(Button) findViewById(R.id.inbox);
Inbox.setOnClickListener(new View.OnClickListener() {
//private Context context;
@Override
public void onClick(View v) {
//Intent intent = new Intent(getApplicationContext(), MessageBox.class);
// TODO Auto-generated method stub
//Intent intent = new Intent(context,MessageBox.class);
//startActivity(intent);
Intent intent = new Intent(MainActivity.this, MessageBox.class);
startActivity(intent);
}
});
send.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
sendSMSMessage();
}
//@TargetApi(Build.VERSION_CODES.DONUT)
//@SuppressLint("NewApi")
private void sendSMSMessage() {
// TODO Auto-generated method stub
Log.i("SEND SMS","");
String message=Display.getText().toString();
try{
SmsManager smsManager=SmsManager.getDefault();
smsManager.sendTextMessage("7666433328", null,message,null,null);
Toast.makeText(getApplicationContext(),"SMS Sent",Toast.LENGTH_LONG).show();
}
catch(Exception e){
Toast.makeText(getApplicationContext(),"SMS Failed,please try again",Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
});
}
}
MessageBox.java package com.example.sharedpreference;
/***
* Application Name : MessageBox
* Author : Vimal Rughani
* Website : http://pulse7.net
* For more details visit http://pulse7.net/android/read-sms-message-inbox-sent-draft-android/
*/
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
public class MessageBox extends Activity implements OnClickListener {
// GUI Widget
Button btnSent, btnInbox, btnDraft;
TextView lblMsg, lblNo;
ListView lvMsg;
// Cursor Adapter
SimpleCursorAdapter adapter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.messagebox);
// Init GUI Widget
btnInbox = (Button) findViewById(R.id.btnInbox);
btnInbox.setOnClickListener(this);
lvMsg = (ListView) findViewById(R.id.lvMsg);
}
@Override
public void onClick(View v) {
if (v == btnInbox) {
// Create Inbox box URI
Uri inboxURI = Uri.parse("content://sms/inbox");
// List required columns
String[] reqCols = new String[] { "_id", "address", "body" };
// Get Content Resolver object, which will deal with Content
// Provider
ContentResolver cr = getContentResolver();
// Fetch Inbox SMS Message from Built-in Content Provider
Cursor c = cr.query(inboxURI, reqCols, null, null, null);
// Attached Cursor with adapter and display in listview
adapter = new SimpleCursorAdapter(this, R.layout.row, c,
new String[] { "body", "address" }, new int[] {
R.id.lblMsg, R.id.lblNumber });
lvMsg.setAdapter(adapter);
}
/*if (v == btnSent) {
// Create Sent box URI
Uri sentURI = Uri.parse("content://sms/sent");
// List required columns
String[] reqCols = new String[] { "_id", "address", "body" };
// Get Content Resolver object, which will deal with Content
// Provider
ContentResolver cr = getContentResolver();
// Fetch Sent SMS Message from Built-in Content Provider
Cursor c = cr.query(sentURI, reqCols, null, null, null);
// Attached Cursor with adapter and display in listview
adapter = new SimpleCursorAdapter(this, R.layout.row, c,
new String[] { "body", "address" }, new int[] {
R.id.lblMsg, R.id.lblNumber });
lvMsg.setAdapter(adapter);
}
if (v == btnDraft) {
// Create Draft box URI
Uri draftURI = Uri.parse("content://sms/draft");
// List required columns
String[] reqCols = new String[] { "_id", "address", "body" };
// Get Content Resolver object, which will deal with Content
// Provider
ContentResolver cr = getContentResolver();
// Fetch Sent SMS Message from Built-in Content Provider
Cursor c = cr.query(draftURI, reqCols, null, null, null);
// Attached Cursor with adapter and display in listview
adapter = new SimpleCursorAdapter(this, R.layout.row, c,
new String[] { "body", "address" }, new int[] {
R.id.lblMsg, R.id.lblNumber });
lvMsg.setAdapter(adapter);
}*/
}
}
list.java package com.example.sharedpreference;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class list extends ListActivity implements OnClickListener{
TextView txt;
String result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.row);
String[] items = null;
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, items));
txt = (TextView) findViewById(R.id.lblMsg);
txt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
/*
result = txt.getText().toString();
Intent i = new Intent();
i.putExtra("MessageFromsecondActivity", result);
setResult(1, i);
finish();
*/
}
});
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
// TODO Auto-generated method stub
String val = ((TextView) v).getText().toString().trim();
CharSequence[] items = null;
txt.setText(items[position]);
Intent i = new Intent(list.this, MessageBox.class);
i.putExtra("value", val);
//Intent in = null;
startActivity(i);
}
/* @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.list, menu);
return true;
}*/
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
所有xml文件 这是我的activity_xml文件。在编辑框中显示的收件箱中的选择信息以及在我的应用程序中创建保存按钮生成txt文件时
<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:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:id="@+id/text_id"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:capitalize="characters"
android:text="Please Enter your phone no "
android:gravity="center"
android:background="#00FFFF"
android:textColor="#000000"
android:textSize="20dp"
/>
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/text_id"
android:ems="10"
android:inputType="number"
android:maxLength="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/editText1"
android:text="Message"
android:textSize="20dp"
android:textColor="#000000"
android:background="#00FFFF"
android:gravity="center" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView1"
android:text="Please check my Information in eTMS"
android:textSize="18dp"
android:textStyle="bold" />
<Button
android:id="@+id/send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView2"
android:text="send" />
<Button
android:id="@+id/checkdata"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2"
android:layout_toRightOf="@+id/send"
android:text="Check Data" />
<TextView
android:id="@+id/EditText1"
android:layout_width="300dp"
android:layout_height="75dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/send"
android:layout_weight="1"
android:ems="7"
android:textStyle="bold" />
<Button
android:id="@+id/inbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/EditText1"
android:layout_alignParentLeft="true"
android:text="Inbox" />
<Button
android:id="@+id/save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/EditText1"
android:layout_toRightOf="@+id/inbox"
android:text="Msg Check" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/EditText1"
android:ems="10"
android:inputType="textPersonName" />
</RelativeLayout >
答案 0 :(得分:0)
写入EditText
中文件的代码
只需在保存按钮的onclick
事件中调用以下方法
private void writeToFile(String data) {
try {
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(openFileOutput("config.txt", Context.MODE_PRIVATE));
outputStreamWriter.write(data);
outputStreamWriter.close();
}
catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());
}
}