2012-06-20 1 views
0

У меня есть следующий код для установления TCP-соединения между сервером C и клиентом android. Сервер c работает отлично. Но следующий код показывает ошибки при построении в eclipse.Ошибка сборки в программе сокета-разработчика android в eclipse

package com.app.client.app; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

import java.io.BufferedReader; 
import java.io.BufferedWriter; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.OutputStreamWriter; 
import java.io.InputStreamReader; 
import java.io.PrintWriter; 
import java.net.InetAddress; 
import java.net.Socket; 
import java.net.UnknownHostException; 

import android.util.Log; 

public class my_activity extends Activity 
{ 
    private TextView txt; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Button b = (Button)findViewById(R.id.button1); 
     txt = (TextView)findViewById(R.id.textView1); 
     b.setOnClickListener(new View.OnClickListener() 
     { 
     @Override 
     public void onClick(View v) 
     { 
      connectSocket("Hello"); 

     } 
     }); 
} 

private void connectSocket(String a){ 

    try { 
     InetAddress serverAddr = InetAddress.getByName("192.168.1.2"); 
     Log.d("TCP", "C: Connecting..."); 
     Socket socket = new Socket(serverAddr, 4444); 

     message = "1"; 

     PrintWriter out = null; 
     BufferedReader in = null; 

     try { 
      Log.d("TCP", "C: Sending: '" + message + "'"); 
      out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true); 
      in = new BufferedReader(new InputStreamReader(socket.getInputStream()));     

      out.println(message); 
      while ((in.readLine()) != null) { 
       txt.append(in.readLine()); 
      } 

      Log.d("TCP", "C: Sent."); 
      Log.d("TCP", "C: Done.");    

     } catch(Exception e) { 
      Log.e("TCP", "S: Error", e); 
     } finally { 
      socket.close(); 
     } 

    } catch (UnknownHostException e) { 
     Log.e("TCP", "C: UnknownHostException", e); 
     e.printStackTrace(); 
    } catch (IOException e) { 
     Log.e("TCP", "C: IOException", e); 
     e.printStackTrace(); 
    }  
} 
} 

Ошибки, показанная на здании:

main cannot be resolved or is not a field my_activity.java /Androidclient/src/com/app/client/app line 29 Java Problem 

Что я могу сделать для того, чтобы решить эту проблему? Заранее спасибо.

+0

вы объявить основную деятельность в манифесте? – Th0rndike

+0

Прошу прощения, я новичок в android. получил этот пример кода и попытался запустить его, когда эта ошибка появилась. не имеют понятия о том, что делать. пожалуйста помоги. – binish

ответ

0

Чтобы настроить сеанс в этом файле, необходимо установить в Android-сообщество AndroidManifest.xml. Найти и добавить основную деятельность в этом так:

<application android:icon="@drawable/icon" android:label="@string/app_name"> 

    <activity android:name="my_activity" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

Это покажет андроид систему, что это ваша основная деятельность, и она должна быть запущена при запуске приложения.

Если вы новичок в Android, я полагаю, что вы читали this

Смежные вопросы