Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > Mobile > Mobile Forum > Android - ทำไงถึงสตริงจะเก็บทั้งหมดได้ครับ รับครั้งละ 14 ตัว ตามโค้ดด้านล่างนะครับ



 

Android - ทำไงถึงสตริงจะเก็บทั้งหมดได้ครับ รับครั้งละ 14 ตัว ตามโค้ดด้านล่างนะครับ

 



Topic : 099854



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์




Code (Android-Java)
package bb.newuart;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View;
import ioio.lib.api.*;
import ioio.lib.api.exception.ConnectionLostException;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Timer;
import java.util.TimerTask;

import android.view.View.OnClickListener;
import ioio.lib.util.BaseIOIOLooper;
import ioio.lib.util.IOIOLooper;
import ioio.lib.util.android.IOIOActivity;
import ioio.lib.api.DigitalOutput;

public class NewUart extends IOIOActivity {
	Button bntSend;
	EditText txtTX,txtRX,txtRTD;
	Timer timer = new Timer(); 
	Handler handler = new Handler();
	TimerTask timetask;
	TextView textView1;
	TextView textView2;
	TextView textView3;
	TextView textView5;
	TextView textView6;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        bntSend = (Button)findViewById(R.id.bntSend);
        txtTX = (EditText)findViewById(R.id.txtTX);
        txtRX = (EditText)findViewById(R.id.txtRX);
        txtRTD = (EditText)findViewById(R.id.txtRTD);
        textView1 = (TextView)findViewById(R.id.Sec);
        textView2 = (TextView)findViewById(R.id.Point);
        textView3 = (TextView)findViewById(R.id.MS);
        textView5 = (TextView)findViewById(R.id.Mode);
        textView6 = (TextView)findViewById(R.id.PF);
    }

    	class Looper extends BaseIOIOLooper {
    		DigitalOutput Dout;
    		Uart uart;
        	OutputStream out;
        	InputStream in;
			int float_avg;
        	
        	protected void setup() throws ConnectionLostException {
        		uart = ioio_.openUart(3, 4, 9600, Uart.Parity.NONE, Uart.StopBits.ONE);
        		in = uart.getInputStream();
        		out = uart.getOutputStream();
        		Dout = ioio_.openDigitalOutput(0,true);
        		
        		runOnUiThread(new Runnable() {
					
					@Override
					public void run() {
						Toast.makeText(getApplicationContext(),
		                        "Connected!",Toast.LENGTH_LONG).show();
						doTask();	
						
					}
				});
        		
        		bntSend.setOnClickListener(new OnClickListener() {
					
					@Override
					public void onClick(View v) {
						//doTask();
						try{
        					byte[] wrBuff = txtTX.getText().toString().getBytes();
        						out.write(wrBuff);
        						Thread.sleep(200);
        						//ShowTotal(wrBuff);
        					//byte[] total = new byte[in.available()];
        						//in.read(total);
        						//txtRTD.setText(new String(total));
        				} catch (IOException e){
        						e.printStackTrace();
        				} catch (InterruptedException e){
        						e.printStackTrace();
        				}
					}
				});
        	}
        	@SuppressLint("NewApi")
			public void doTask(){
        		timetask = new TimerTask() {
        		public void run() {

        		handler.post(new Runnable() {
        		public void run() {
					byte[] rdBuff;
					try {
						rdBuff = new byte[in.available()];
						in.read(rdBuff);
						int len = rdBuff.length;
						if(len == 14){
							txtRX.setText(new String(rdBuff));
							byte[] arr2 = Arrays.copyOf(rdBuff, 14);
							String addStr = new String(arr2);
							ShowTotal(addStr);
						} else 
							txtRX.setText("I0E");					
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
        		}
        		});
        		}};
        		timer.schedule(timetask, 0, 1000); // Every 1 second
        		
        	}
        	public void ShowTotal(String arr2){
        		arr2.toString();
        		String str = arr2;
        		String str11,str12,str13,str14,str10;
        		str14 = str.substring(1, 2);
        		str13 = str.substring(3, 4);
        		str12 = str.substring(6, 7);
        		str11 = str.substring(8, 10);
        		str10 = str.substring(10, 12);
        		int y = Integer.parseInt(str10);
        		int x = Integer.parseInt(str11);
        		x = ArrAddMS(x);
        		y = ArrAddS(y);
        		ArrayList<String> myArrList2 = new ArrayList<String>();
        		myArrList2.add(str13);
        		String myArr3;
        		myArr3 = myArrList2.toString();
        		ArrayList<String> myArrList1 = new ArrayList<String>();
        		myArrList1.add(str14);
        		String myArr1;
        		myArr1 = myArrList1.toString();
        		ArrayList<String> myArrList3 = new ArrayList<String>();
        		myArrList3.add(str12);
        		String myArr2;
        		myArr2 = myArrList3.toString();
        		textView2.setText("Point : " + myArr3);
        		textView5.setText("Mode : " + myArr1);
        		textView6.setText("Pass/Fail : " + myArr2);
        		//StringBuffer StrBuf = new StringBuffer();      		
        		//StrBuf.append(str12);
        		//textView2.setText(StrBuf);
        		txtRTD.setText(str14 + str13 + str12 + str11 + ":" + str10);
        	}
       	
        	public void Loop() throws ConnectionLostException {
        		Dout.write(true);
        	}
        	
        	public int ArrAddS (int x){
        		ArrayList<Integer> arr_value = new ArrayList<Integer>();
				arr_value.add(x);
				totalMS(arr_value);
				return x; 
        	}
        	public int ArrAddMS (int y){
        		ArrayList<Integer> arr_value = new ArrayList<Integer>();
				arr_value.add(y);
				totalS(arr_value);
				return y; 
        	}
        	
        	public void totalS (ArrayList<Integer> arr_value){
        		int int_total = 0;
        		for(int i = 0 ; i < arr_value.size() ; i++) {
        			int_total += (Integer) arr_value.get(i);
        		}

        		float_avg = (int)int_total / arr_value.size();
        		String b = String.valueOf(float_avg);
        		textView1.setText("Time AVG : " + b + ":");
        		return ;
        	}
        	public void totalMS (ArrayList<Integer> arr_value){
        		int int_total = 0;
        		for(int i = 0 ; i < arr_value.size() ; i++) {
        			int_total += (Integer) arr_value.get(i);
        		}

        		float_avg = (int)int_total / arr_value.size();
        		String b = String.valueOf(float_avg);
        		textView3.setText(b);
        		return ;
        	}
    	}
    	 protected IOIOLooper createIOIOLooper() {
    	        return new Looper();
    	    }
}

รับเข้ามาชุดละ 14 ตัว เช่น RA0A00P024350E นะครับ มาเป็นชุดแบบนี้เรื่อยๆครับ
ผู้รู้ช่วยแก้ให้หน่อยนะครับหรือเสนอแนะนิดนึงครับ ขอบคุณครับ




Tag : Mobile, Android, JAVA







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-08-31 16:15:56 By : GooDbyJudy View : 1084 Reply : 2
 

 

No. 1



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


เวลาแสดงผลก็แสดงค่าที่ substring ต่อกันเรื่อยๆอ่ะกัน ตัวได้เป็น A ตัวสองใส่ A มาอีกก็แสดง AA แบบนี้อ่ะครับ ตรงที่แสดงออกทุกอันเลยครับ รวมทั้งเวลาที่เอาไปหาค่าเฉลี่ยด้วยครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-31 16:21:22 By : GooDbyJudy
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code เยอะแบบนี้ดูแล้วเข้าใจยากน่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-01 06:33:19 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Android - ทำไงถึงสตริงจะเก็บทั้งหมดได้ครับ รับครั้งละ 14 ตัว ตามโค้ดด้านล่างนะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่