Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何填充listview? public void Connect(最终字符串ip、最终int端口、最终字符串数据)引发IOException{ 线程t=新线程(){ @凌驾 公开募捐{ 试一试{ s=新插座(ip,端口); dos=新的DataOutputStream(s.getOutputStream()); dis=新的DataInputStream(s.getInputStream()); write(stringToBytesASCII(Data),0,Data.length()); dos.flush(); byte[]buff=新字节[dis.available()]; 显示读取(增益,0,增益长度); 地址=字符串(浅黄色); 地址列表。添加(地址); ArrayAdapter myAdapter=新的ArrayAdapter(MainActivity.this,R.layout.row_layout,addresslist); lstMicAdd.setAdapter(myAdapter); }捕获(IOE异常){ e、 printStackTrace(); } } }; t、 start();_Android_Listview_Network Programming - Fatal编程技术网

Android 如何填充listview? public void Connect(最终字符串ip、最终int端口、最终字符串数据)引发IOException{ 线程t=新线程(){ @凌驾 公开募捐{ 试一试{ s=新插座(ip,端口); dos=新的DataOutputStream(s.getOutputStream()); dis=新的DataInputStream(s.getInputStream()); write(stringToBytesASCII(Data),0,Data.length()); dos.flush(); byte[]buff=新字节[dis.available()]; 显示读取(增益,0,增益长度); 地址=字符串(浅黄色); 地址列表。添加(地址); ArrayAdapter myAdapter=新的ArrayAdapter(MainActivity.this,R.layout.row_layout,addresslist); lstMicAdd.setAdapter(myAdapter); }捕获(IOE异常){ e、 printStackTrace(); } } }; t、 start();

Android 如何填充listview? public void Connect(最终字符串ip、最终int端口、最终字符串数据)引发IOException{ 线程t=新线程(){ @凌驾 公开募捐{ 试一试{ s=新插座(ip,端口); dos=新的DataOutputStream(s.getOutputStream()); dis=新的DataInputStream(s.getInputStream()); write(stringToBytesASCII(Data),0,Data.length()); dos.flush(); byte[]buff=新字节[dis.available()]; 显示读取(增益,0,增益长度); 地址=字符串(浅黄色); 地址列表。添加(地址); ArrayAdapter myAdapter=新的ArrayAdapter(MainActivity.this,R.layout.row_layout,addresslist); lstMicAdd.setAdapter(myAdapter); }捕获(IOE异常){ e、 printStackTrace(); } } }; t、 start();,android,listview,network-programming,Android,Listview,Network Programming,当我从DataInputStream中获取数据[]时,我将其放置在Arraylist中。但当我运行它时,它在获取流后会继续停止。我的代码有什么问题?或者我将如何执行?请帮助 这是我的日志 04-03 10:57:20.362 1980-1995/www.siren.com.siren D/opengl﹕ 请求渲染脏区域:true 04-03 10:57:20.386 1980-1980/www.siren.com.siren D/﹕ HostConnection::get()新主机连接已建立0x

当我从DataInputStream中获取数据[]时,我将其放置在Arraylist中。但当我运行它时,它在获取流后会继续停止。我的代码有什么问题?或者我将如何执行?请帮助

这是我的日志

04-03 10:57:20.362 1980-1995/www.siren.com.siren D/opengl﹕ 请求渲染脏区域:true

04-03 10:57:20.386 1980-1980/www.siren.com.siren D/﹕ HostConnection::get()新主机连接已建立0xae138ee0,tid 1980

04-03 10:57:20.415 1980-1980/www.siren.com.siren D/Atlas﹕ 正在验证映射

04-03 10:57:20.460 1980-1995/www.siren.com.siren D/﹕ HostConnection::get()新主机连接已建立0xa6c8d460,tid 1995

04-03 10:57:20.500 1980-1995/www.siren.com.siren I/opengl﹕ 已初始化EGL,版本1.4

04-03 10:57:20.700 1980-1995/www.siren.com.siren D/opengl﹕ 正在启用调试模式0

04-03 10:57:20.747 1980-1995/www.siren.com.siren W/EGL_仿真﹕ 未实现eglSurfaceAttrib

04-03 10:57:20.747 1980-1995/www.siren.com.siren W/opengl﹕ 未能在表面0xa6c8e220上设置EGL_交换行为,错误=EGL_成功

04-03 10:57:22.2171980-1980/www.siren.com.siren I/编舞﹕ 跳过81帧!应用程序可能在其主线程上做了太多工作

04-03 10:57:22.736 1980-1992/www.siren.com.siren I/art﹕ 背景部分并发标记扫描GC释放2473(121KB)AllocSpace对象,0(0B)LOS对象,9%空闲,18MB/20MB,暂停1.616ms总计181.248ms

04-03 10:57:22.812 1980-1995/www.siren.com.siren W/EGL_仿真﹕ 未实现eglSurfaceAttrib

04-03 10:57:22.812 1980-1995/www.siren.com.siren W/opengl﹕ 未能在表面0xa6cb5de0上设置EGL_交换_行为,错误=EGL_成功

04-03 10:57:24.224 1980-1980/www.siren.com.siren I/编舞﹕ 跳过了80帧!应用程序可能在其主线程上做了太多工作

04-03 11:00:10.990 1980-1995/www.siren.com.siren W/EGL_仿真﹕ 未实现eglSurfaceAttrib

04-03 11:00:10.990 1980-1995/www.siren.com.siren W/opengl﹕ 未能在表面0xa6cb5de0上设置EGL_交换_行为,错误=EGL_成功

04-03 11:02:27.930 1980-1980/www.siren.com.siren I/编舞﹕ 跳过34帧!应用程序可能在其主线程上做了太多工作

04-03 11:03:12.926 1980-1980/www.siren.com.siren I/编舞﹕ 跳过38帧!应用程序可能在其主线程上做了太多工作。 04-03 11:03:13.725 1980-1995/www.siren.com.siren W/EGL_仿真﹕ 未实现eglSurfaceAttrib

04-03 11:03:13.725 1980-1995/www.siren.com.siren W/opengl﹕ 未能在表面0xa6c8eb80上设置EGL_交换行为,错误=EGL_成功

04-03 11:03:15.416 1980-1980/www.siren.com.siren I/编舞﹕ 跳过148帧!应用程序可能在其主线程上做了太多工作

04-03 11:03:17.634 1980-1980/www.siren.com.siren I/编舞﹕ 跳过132帧!应用程序可能在其主线程上做了太多工作

这是我的全部密码

公共类MainActivity扩展了活动{

 public void Connect(final String ip, final int port, final String Data)       throws IOException {

    Thread t = new Thread(){

        @Override
        public void run() {

            try {

                s = new Socket(ip, port);
                dos  = new DataOutputStream(s.getOutputStream());
                dis = new DataInputStream(s.getInputStream());
                dos.write(stringToBytesASCII(Data),0,Data.length());
                dos.flush();

                byte[] buff = new byte[dis.available()];
                dis.read(buff,0,buff.length);
                address = AsciiToString(buff);
                addresslist.add(address);
                ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(MainActivity.this, R.layout.row_layout, addresslist);
                lstMicAdd.setAdapter(myAdapter);


            } catch ( IOException e) {
                e.printStackTrace();
            }


        }


    };
    t.start();
public static final int REQUEST\u code\u ONE=100;
专用按钮BTN连接;
私人按钮BTN设置;
私人按钮btnDisc;
私有列表视图lstMicAdd;
私人插座;
私有数据输出流dos;
私有数据输入流dis;
字符串地址;
数据库处理程序;
字符串设置SIP;
受保护的国际设置运动;
字符串名;
List addresslist=new ArrayList();
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnConnect=(按钮)findViewById(R.id.btnConnect);
BTN设置=(按钮)findViewById(R.id.BTN设置);
btnDisc=(按钮)findViewById((R.id.btnDisc));
dbHandler=newdatabasehandled(getApplicationContext());
Name=dbHandler.getLastNameRecord();
settingsIp=dbHandler.getLastIprecord();
settingsPort=Integer.parseInt(dbHandler.getLastPortRecord());
btnDisc.setEnabled(false);
lstMicAdd=(ListView)findViewById(R.id.lstMicAdd);
//设置按钮
btnSettings.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意向意向=新意向(MainActivity.this、settings.class);
startActivityForResult(意图、请求代码);
}
});
//连接按钮
btnConnect.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
试一试{
连接(设置SIP、设置Sport、“安卓”+名称);
}捕获(IOE异常){
e、 printStackTrace();
}
}
});
//断开按钮
btnDisc.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
public static final int REQUEST_CODE_ONE = 100;
private Button btnConnect;
private Button btnSettings;
private Button btnDisc;
private ListView lstMicAdd;
private Socket s;
private DataOutputStream dos;
private DataInputStream dis;
String address;
DatabaseHandled dbHandler;
String settingsIp;
protected int settingsPort;
String Name;
List<String> addresslist = new ArrayList<String>();


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




    btnConnect = (Button) findViewById(R.id.btnConnect);
    btnSettings = (Button) findViewById(R.id.btnSettings);
    btnDisc = (Button) findViewById((R.id.btnDisc));
    dbHandler = new DatabaseHandled(getApplicationContext());
    Name = dbHandler.getLastNameRecord();
    settingsIp = dbHandler.getLastIprecord();
    settingsPort = Integer.parseInt(dbHandler.getLastPortRecord());
    btnDisc.setEnabled(false);
    lstMicAdd = (ListView) findViewById(R.id.lstMicAdd);


    //Settings Button
    btnSettings.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent intent = new Intent (MainActivity.this , settings.class);
            startActivityForResult(intent, REQUEST_CODE_ONE);
        }
    });


    //Connect Button
    btnConnect.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            try {
                Connect(settingsIp, settingsPort, "Android_" + Name);

            } catch (IOException e) {
                e.printStackTrace();
            }





        }
    });


    //Disconnect Button
    btnDisc.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            try {
                s.close();


            } catch (IOException e) {
                e.printStackTrace();
            }



        }
    });



}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {


    if(requestCode == REQUEST_CODE_ONE){
        if (resultCode == RESULT_OK) {

                settingsPort = data.getIntExtra("Port",-1);
                settingsIp = data.getStringExtra("Ip-Address");

        }
     }
    super.onActivityResult(requestCode, resultCode, data);
    }

public void Connect(final String ip, final int port, final String Data) throws IOException {

    Thread t = new Thread(){

        @Override
        public void run() {

            try {

                s = new Socket(ip, port);
                dos  = new DataOutputStream(s.getOutputStream());
                dis = new DataInputStream(s.getInputStream());
                dos.write(stringToBytesASCII(Data),0,Data.length());
                dos.flush();

                byte[] buff = new byte[dis.available()];
                dis.read(buff,0,buff.length);
                address = AsciiToString(buff);
                addresslist.add(address);



            } catch ( IOException e) {
                e.printStackTrace();
            }

            ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(MainActivity.this, R.layout.row_layout, addresslist);
            lstMicAdd.setAdapter(myAdapter);
        }


    };
    t.start();


}







    public static byte[] stringToBytesASCII(String Data) {

        byte[] b = new byte[Data.length()];

        for (int i = 0; i < b.length; i++) {

            b[i] = (byte) Data.charAt(i);
        }
        return b;

    }

public static String AsciiToString(byte[] Data) {
    StringBuilder sb = new StringBuilder(Data.length);
    for (int i = 0; i < Data.length; ++ i) {
        if (Data[i] < 0) throw new IllegalArgumentException();
        sb.append((char) Data[i]);
    }
    return sb.toString();


}

public void Alert (){
    AlertDialog myDialog = new AlertDialog.Builder(MainActivity.this).create();
    myDialog.setTitle("Error");
    myDialog.setMessage("No Connection");
    myDialog.show();


}