Android ftp_主机无法解析或不是字段
我正在在线学习android应用程序开发,我使用指南创建了一个项目,但收到错误呼叫“ftp\u主机无法解析或不是字段”和“ftp\u消息\u结果无法解析或不是字段” 我的布局文件包括以下内容Android ftp_主机无法解析或不是字段,android,Android,我正在在线学习android应用程序开发,我使用指南创建了一个项目,但收到错误呼叫“ftp\u主机无法解析或不是字段”和“ftp\u消息\u结果无法解析或不是字段” 我的布局文件包括以下内容 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="mat
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:text="@string/ftp_server_prompt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText android:id="@+id/ftp_host"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textUri">
<requestFocus></requestFocus>
</EditText>
</LinearLayout>
<Button android:text="@string/ftp_button_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="showMessage"/>
<ScrollView android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView android:id="@+id/ftp_message_result"
android:textSize="@dimen/ftp_message_size"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</ScrollView>
</LinearLayout>
我的MainActivity文件如下所示
import java.io.BufferedReader;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import android.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
private EditText mFtpHost;
private TextView mFtpMessageResult;
private static final int FTP_PORT = 8080;
/** Initializes the app when it is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_item);
mFtpHost = (EditText)findViewById(R.id.ftp_host);
mFtpMessageResult = (TextView)findViewById(R.id.ftp_message_result);
}
public void showMessage(View clickedButton) {
String host = mFtpHost.getText().toString();
try {
Socket socket = new Socket();//(host, FTP_PORT);
BufferedReader in = SocketUtils.getReader(socket);
List<String> results = new ArrayList<String>();
String line = in.readLine();
results.add(line);
if (line.startsWith("220-")) {
while((line = in.readLine()) != null) {
results.add(line);
if ((line.equals("220") || line.startsWith("220 "))) {
break;
}
}
}
String output = makeOutputString(results);
mFtpMessageResult.setText(output);
socket.close();
} catch (Exception e) {
mFtpMessageResult.setText("Unknown host: " + host);
e.printStackTrace(); // View this in DDMS window
}
}
private String makeOutputString(List<String> results) {
StringBuilder output = new StringBuilder();
for (String s: results) {
output.append(s + "\n");
}
return(output.toString());
}
导入java.io.BufferedReader;
导入java.net.Socket;
导入java.util.ArrayList;
导入java.util.List;
导入android.R;
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.EditText;
导入android.widget.TextView;
公共类MainActivity扩展了活动{
私有编辑文本mFtpHost;
私有文本视图mFtpMessageResult;
专用静态最终int FTP_端口=8080;
/**在首次创建应用程序时对其进行初始化*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u list\u项);
mFtpHost=(EditText)findViewById(R.id.ftp\u主机);
mFtpMessageResult=(TextView)findViewById(R.id.ftp\u message\u result);
}
公共作废显示消息(查看单击按钮){
String host=mFtpHost.getText().toString();
试一试{
套接字套接字=新套接字();/(主机,FTP_端口);
BufferedReader in=SocketUtils.getReader(套接字);
列表结果=新建ArrayList();
String line=in.readLine();
结果:添加(行);
if(第220-行开始){
而((line=in.readLine())!=null){
结果:添加(行);
if((行等于(“220”)| |行开始与(“220”)){
打破
}
}
}
字符串输出=makeOutputString(结果);
mFtpMessageResult.setText(输出);
socket.close();
}捕获(例外e){
mFtpMessageResult.setText(“未知主机:+主机”);
e、 printStackTrace();//在DDMS窗口中查看此内容
}
}
私有字符串makeOutputString(列出结果){
StringBuilder输出=新的StringBuilder();
用于(字符串s:结果){
输出。追加(s+“\n”);
}
return(output.toString());
}
}验证您的布局文件是否真正被称为“活动列表”项。如果不是,你必须改变
setContentView(R.layout.activity_list_item);
,在onCreate()方法中,执行以下操作:
setContentView(R.layout.'THE NAME OF THE LAYOUT');