当前位置: 首页 > 知识库问答 >
问题:

开始输入:Android.Widget.EditText

云卓
2023-03-14
<EditText 
     android:id="@+id/text2"
     android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>
public void send(View v3)
 {
    String msg = edittext2.getText().toString();  

    // make sure the fields are not empty
    if (msg.length()>0)
    {
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("https://localhost/datalog.php");
     try {
       List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
       nameValuePairs.add(new BasicNameValuePair("id", "12345"));
       nameValuePairs.add(new BasicNameValuePair("message", msg));
       httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
       httpclient.execute(httppost);
       edittext2.setText(""); // clear text box
     } catch (ClientProtocolException e) {
         // TODO Auto-generated catch block
     } catch (IOException e) {
         // TODO Auto-generated catch block
        // Toast.makeText(getBaseContext(),"All field are required",Toast.LENGTH_SHORT).show();
     }

    }
    else
    {
        // display message if text fields are empty
        Toast.makeText(getBaseContext(),"All field are required",Toast.LENGTH_SHORT).show();
    }

}
sendButton = (Button) findViewById(R.id.sendButton);
sendButton.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v3) {
    // TODO Auto-generated method stub
//  send datasend=new send();
    //datasend.execute();
    send(v3);
}

});

我在服务器端ti get post变量中编写了一个php代码。

共有1个答案

姬选
2023-03-14

我希望您在主gui线程之外的线程中执行Http请求。

您能试试这段代码吗:

主要活动:

public class MainActivity extends Activity {

    private final static String TAG = MainActivity.class.getSimpleName();

    EditText edittext2;
    Button sendButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        edittext2 = (EditText) findViewById(R.id.text2);

        sendButton = (Button) findViewById(R.id.sendButton);
        sendButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                send();
            }
        });

    }



    public void send() {

       String msg = edittext2.getText().toString();  

       // make sure the fields are not empty
       if (!msg.equals(""))
       {

           Log.d(TAG, "send: " + msg);

//           HttpClient httpclient = new DefaultHttpClient();
//           HttpPost httppost = new HttpPost("https://localhost/datalog.php");
//           
//          try {
//            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
//            nameValuePairs.add(new BasicNameValuePair("id", "12345"));
//            nameValuePairs.add(new BasicNameValuePair("message", msg));
//            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
//            httpclient.execute(httppost);
//            edittext2.setText(""); // clear text box
//          } catch (ClientProtocolException e) {
//              // TODO Auto-generated catch block
//          } catch (IOException e) {
//              // TODO Auto-generated catch block
//             // Toast.makeText(getBaseContext(),"All field are required",Toast.LENGTH_SHORT).show();
//          }

       }
       else
       {
           // display message if text fields are empty
           Toast.makeText(getBaseContext(),"All field are required",Toast.LENGTH_SHORT).show();
       }

   }
}
<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"
    tools:context="${relativePackage}.${activityClass}" >

    <EditText 
        android:id="@+id/text2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         />

    <Button 
        android:id="@+id/sendButton"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="send"
        android:layout_below="@id/text2"/>

</RelativeLayout>
public class MainActivity extends Activity {

    private final static String TAG = MainActivity.class.getSimpleName();

    EditText edittext2;
    Button sendButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        edittext2 = (EditText) findViewById(R.id.text2);

        sendButton = (Button) findViewById(R.id.sendButton);
        sendButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                MyHttpTask mTask = new MyHttpTask();
                mTask.execute("");
            }
        });

    }

    class MyHttpTask extends AsyncTask<String, Void, String> {

        @Override
        protected String doInBackground(String... params) {
            send();
            return "";
        }

        @Override
        protected void onPostExecute(String result) {

            Log.d(TAG, "onPostExecute" + result);
            edittext2.setText(result); 
        }


    }

    public void send() {

       String msg = edittext2.getText().toString();  

       // make sure the fields are not empty
       if (!msg.equals(""))
       {

           Log.d(TAG, "send: " + msg);

           HttpClient httpclient = new DefaultHttpClient();
           HttpPost httppost = new HttpPost("http://192.168.178.60/datalog.php");

            try {
              List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
              nameValuePairs.add(new BasicNameValuePair("id", "12345"));
              nameValuePairs.add(new BasicNameValuePair("message", msg));
              httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
              httpclient.execute(httppost);
              //edittext2.setText(""); // clear text box
            } catch (ClientProtocolException e) {
                Log.d(TAG, e.toString());
            } catch (IOException e) {
                Log.d(TAG, e.toString());
            }

       }
       else
       {
           // display message if text fields are empty
           Toast.makeText(getBaseContext(),"All field are required",Toast.LENGTH_SHORT).show();
       }

   }
}

php文件datalog.php:

<?php

    $message=$_POST['message'];
    $filename="androidmessages.html";
    file_put_contents($filename,$message."<br />",FILE_APPEND);
    $androidmessages=file_get_contents($filename);

    echo $androidmessages;
?>

我还得到了一个名为“AndroidMessages.html”的文件,其中有我在edittext中输入的文本,这很好地工作,没有任何错误

这项工作的意义将是有一个网页,记录来自android设备的消息。因此可以通过网络连接从任何浏览器查看消息

 类似资料:
  • 简而言之:如何让UITextField框在用户第一次按键时移除所有内容?我不希望信息被删除,直到用户开始输入一些东西。即,在开始编辑时清除它是不够的。 长版本:我有三个UITextField循环(使用返回键并在“shouldReturn”方法中捕获按键。UITextField 中已有文本,如果用户未键入任何内容,而只是转到下一个 UITextField,则该值应保留(默认行为)。 但是我希望如果用

  • Fullpage是最好用的全屏滚动插件,很多前端设计师用他制作出了优秀的效果,本小节的内容将为大家介绍如何快速的使用Fullpage插件,构建自己的全屏单页网站。 1、安装插件 如果你熟悉bower或者npm,您可以使用下面的命令安装Fullpage // With bower bower install fullpage.js // With npm npm install full

  • 下载初始项目并解压,在 Xcode 中打开 BlueLibrarySwift.xcodeproj 项目文件。 项目中有三个地方需要注意一下: ViewController 有两个 IBOutlet ,分别连接到了 UITableView 和 UIToolBar 上。 在 StoryBoard 上有三个组件设置了约束。最上面的是专辑的封面,封面下面是列举了相关专辑的列表,最下面是有两个按钮的工具栏,

  • web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 可以通过它进行以太坊区块链的开发,而无需为你的应用平台编写集成代码。 想要快速启动的话,有一个Web3j demo示例项目可用,演示了通过Web3j开发以太坊的许多核心特征,其中包括: 连接到以太网网络上的节点 加载一个以太坊钱包文件

  • 在这里也可以看到: Burp Suite 帮助中心: Getting started with Burp Suite 注意: 使用 Burp Suite 可能会在某些应用程序中导致不可预料的影响。在您完全熟悉其功能和设置之前,请不要使用Burp Suite对生产系统进行检测。 启动 Burp 从 PortSwigger.net网站下载对应平台(Windows,MacOS或Linux)的 Burp

  • 本文向大家介绍文本框倒叙输入让输入框的焦点始终在最开始的位置,包括了文本框倒叙输入让输入框的焦点始终在最开始的位置的使用技巧和注意事项,需要的朋友参考一下 所谓的文本框倒叙输入是指输入框的焦点始终在最开始的位置,如图所示,当我输入123456789时,在输入框上显示的是987654321。 为什么要做这个Demo?是因为在项目中遇到了,项目需求是两个输入框,一个正序输入,另一个倒叙输入。 下面我把