如何在编辑框中选择msg显示并在应用程序中创建txt文件

时间:2014-09-12 05:54:53

标签: android

我创建了一个列表,消息框和主要活动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 >

1 个答案:

答案 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());
    } 
}