From 589d2b52b1135e876ee4c76dd2bf11c7a7cd973a Mon Sep 17 00:00:00 2001 From: Myth Yang Date: Fri, 23 Aug 2013 20:17:23 +0800 Subject: idiot --- .../Piztor/src/com/example/piztor/Controller.java | 5 +- .../Piztor/src/com/example/piztor/GPSTracker.java | 107 +++++++++++---------- .../Piztor/src/com/example/piztor/Login.java | 4 +- .../src/com/example/piztor/MainActivity.java | 32 ++++-- .../Piztor/src/com/example/piztor/MyView.java | 60 ++++++++---- .../Piztor/src/com/example/piztor/Rmsg.java | 12 +++ .../Piztor/src/com/example/piztor/Running.java | 4 +- .../src/com/example/piztor/SocketClient.java | 13 ++- .../Piztor/src/com/example/piztor/Tracker.java | 35 ++++--- .../Piztor/src/com/example/piztor/Transam.java | 2 + 10 files changed, 172 insertions(+), 102 deletions(-) create mode 100644 client/activity-demo/Piztor/src/com/example/piztor/Rmsg.java (limited to 'client/activity-demo/Piztor/src') diff --git a/client/activity-demo/Piztor/src/com/example/piztor/Controller.java b/client/activity-demo/Piztor/src/com/example/piztor/Controller.java index 6e55581..d6e75d7 100644 --- a/client/activity-demo/Piztor/src/com/example/piztor/Controller.java +++ b/client/activity-demo/Piztor/src/com/example/piztor/Controller.java @@ -1,7 +1,5 @@ package com.example.piztor; -import java.io.Serializable; -import android.content.Intent; public class Controller { String userToken; @@ -25,6 +23,7 @@ public class Controller { } void recieveLocation(double x, double y) { - run.v.drawLocation(x, y); + System.out.println(x + " xxxx " + y); + run.v.changMyLocation(x, y); } } diff --git a/client/activity-demo/Piztor/src/com/example/piztor/GPSTracker.java b/client/activity-demo/Piztor/src/com/example/piztor/GPSTracker.java index e592ba3..13cb868 100644 --- a/client/activity-demo/Piztor/src/com/example/piztor/GPSTracker.java +++ b/client/activity-demo/Piztor/src/com/example/piztor/GPSTracker.java @@ -1,4 +1,5 @@ package com.example.piztor; + import android.app.AlertDialog; import android.app.Service; import android.content.Context; @@ -33,7 +34,7 @@ public class GPSTracker extends Service implements LocationListener { private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters // The minimum time between updates in milliseconds - private static final long MIN_TIME_BW_UPDATES = 10 * 60 * 1; // 1 minute + private static final long MIN_TIME_BW_UPDATES = 1000 * 10; // 10 seconds // Declaring a Location Manager protected LocationManager locationManager; @@ -56,7 +57,7 @@ public class GPSTracker extends Service implements LocationListener { isNetworkEnabled = locationManager .isProviderEnabled(LocationManager.NETWORK_PROVIDER); - if (!isGPSEnabled && !isNetworkEnabled) { + if (!isGPSEnabled) { // no network provider is enabled } else { this.canGetLocation = true; @@ -101,79 +102,84 @@ public class GPSTracker extends Service implements LocationListener { return location; } - + /** - * Stop using GPS listener - * Calling this function will stop using GPS in your app - */ - public void stopUsingGPS(){ - if(locationManager != null){ + * Stop using GPS listener Calling this function will stop using GPS in your + * app + * */ + public void stopUsingGPS() { + if (locationManager != null) { locationManager.removeUpdates(GPSTracker.this); - } + } } - + /** * Function to get latitude - */ - public double getLatitude(){ - if(location != null){ + * */ + public double getLatitude() { + if (location != null) { latitude = location.getLatitude(); } - + // return latitude return latitude; } - + /** * Function to get longitude - */ - public double getLongitude(){ - if(location != null){ + * */ + public double getLongitude() { + if (location != null) { longitude = location.getLongitude(); } - + // return longitude return longitude; } - + /** * Function to check GPS/wifi enabled + * * @return boolean - */ + * */ public boolean canGetLocation() { return this.canGetLocation; } - + /** - * Function to show settings alert dialog - * On pressing Settings button will lauch Settings Options - */ - public void showSettingsAlert(){ + * Function to show settings alert dialog On pressing Settings button will + * lauch Settings Options + * */ + public void showSettingsAlert() { AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext); - - // Setting Dialog Title - alertDialog.setTitle("GPS is settings"); - - // Setting Dialog Message - alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?"); - - // On pressing Settings button - alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog,int which) { - Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); - mContext.startActivity(intent); - } - }); - - // on pressing cancel button - alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - dialog.cancel(); - } - }); - - // Showing Alert Message - alertDialog.show(); + + // Setting Dialog Title + alertDialog.setTitle("GPS is settings"); + + // Setting Dialog Message + alertDialog + .setMessage("GPS is not enabled. Do you want to go to settings menu?"); + + // On pressing Settings button + alertDialog.setPositiveButton("Settings", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + Intent intent = new Intent( + Settings.ACTION_LOCATION_SOURCE_SETTINGS); + mContext.startActivity(intent); + } + }); + + // on pressing cancel button + alertDialog.setNegativeButton("Cancel", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.cancel(); + } + }); + + // Showing Alert Message + alertDialog.show(); } @Override @@ -196,4 +202,5 @@ public class GPSTracker extends Service implements LocationListener { public IBinder onBind(Intent arg0) { return null; } + } diff --git a/client/activity-demo/Piztor/src/com/example/piztor/Login.java b/client/activity-demo/Piztor/src/com/example/piztor/Login.java index e7712c4..de5cded 100644 --- a/client/activity-demo/Piztor/src/com/example/piztor/Login.java +++ b/client/activity-demo/Piztor/src/com/example/piztor/Login.java @@ -2,13 +2,15 @@ package com.example.piztor; public class Login { MainActivity main; + int tk; Login(MainActivity main) { this.main = main; } void success(int token) { - main.start(); + //main.start(); + tk = token; System.out.println("token!"); } diff --git a/client/activity-demo/Piztor/src/com/example/piztor/MainActivity.java b/client/activity-demo/Piztor/src/com/example/piztor/MainActivity.java index 333bfd4..bf8d755 100644 --- a/client/activity-demo/Piztor/src/com/example/piztor/MainActivity.java +++ b/client/activity-demo/Piztor/src/com/example/piztor/MainActivity.java @@ -16,6 +16,8 @@ public class MainActivity extends Activity { Button b; EditText username, password, ip, port; Login login; + Controller c; + boolean flag = false; public final static String SER_KEY = "CONTROL"; @Override @@ -23,17 +25,12 @@ public class MainActivity extends Activity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); login = new Login(this); + c = new Controller(); b = (Button) findViewById(R.id.login); + b.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { - cout.println(username.getText().toString()); - cout.println(password.getText().toString()); - cout.println(ip.getText().toString()); - cout.println(port.getText().toString()); - ip.setText("192.168.1.102"); - port.setText("9990"); - username.setText("hello"); - password.setText("world"); + if(flag==false){ Vector r = new Vector(); r.add(0); r.add(username.getText().toString()); @@ -42,6 +39,21 @@ public class MainActivity extends Activity { .parseInt(port.getText().toString()), new Myrequest(r), login); new Thread(t).run(); + flag = true; + } + else{ + Vector r = new Vector(); + r.add(2); + r.add(login.tk); + double lot = 123.456; + double lat = 654.321; + r.add(lot); + r.add(lat); + Transam t = new Transam(ip.getText().toString(), Integer + .parseInt(port.getText().toString()), new Myrequest(r), + c); + new Thread(t).run(); + } } }); username = (EditText) findViewById(R.id.username); @@ -60,6 +72,10 @@ public class MainActivity extends Activity { @Override protected void onStart() { super.onStart(); + ip.setText("192.168.1.101"); + port.setText("9990"); + username.setText("hello"); + password.setText("world"); cout.println("onStart!"); } diff --git a/client/activity-demo/Piztor/src/com/example/piztor/MyView.java b/client/activity-demo/Piztor/src/com/example/piztor/MyView.java index 1627e4c..a213013 100644 --- a/client/activity-demo/Piztor/src/com/example/piztor/MyView.java +++ b/client/activity-demo/Piztor/src/com/example/piztor/MyView.java @@ -1,39 +1,55 @@ package com.example.piztor; -import java.io.*; -import android.content.*; -import android.graphics.*; +import java.io.PrintStream; +import java.util.Vector; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; import android.graphics.Paint.Style; -import android.util.*; -import android.view.*; +import android.graphics.Point; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; public class MyView extends View { static PrintStream cout = System.out; - private Paint mPaint; + private Paint mPaint, oPaint; public Canvas c = null; public Bitmap b = null; - public double scale = 100; + public double scale = 1; public double centerX, centerY; -// Vector v; + + + Point myLocation; + Vector Location; void setup(Canvas c, Bitmap b, double x, double y) { this.c = c; this.b = b; centerX = x; centerY = y; + myLocation = new Point(10, 10); + Location = new Vector(); + Location.add(myLocation); } public MyView(Context context) { super(context); -// v = new Vector(); + // v = new Vector(); mPaint = new Paint(); mPaint.setColor(Color.RED); mPaint.setStyle(Style.FILL); + oPaint = new Paint(); + oPaint.setColor(Color.BLUE); + oPaint.setStyle(Style.FILL); } public MyView(Context context, AttributeSet attr) { super(context, attr); -// v = new Vector(); + // v = new Vector(); mPaint = new Paint(); mPaint.setColor(Color.RED); mPaint.setStyle(Style.FILL); @@ -42,34 +58,42 @@ public class MyView extends View { @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); - canvas.drawBitmap(b, 0, 0, mPaint); + cout.println(myLocation.x + " -- " + myLocation.y); + canvas.drawCircle(myLocation.x, myLocation.y, 5, mPaint); + //canvas.drawBitmap(b, 0, 0, mPaint); + /*for (int i = 1; i < Location.size(); i++) { + canvas.drawCircle(Location.get(i).x, Location.get(i).y, 2, oPaint); + }*/ // canvas.restore(); } @Override public boolean onTouchEvent(MotionEvent e) { -// v.add(new PointF(e.getX(), e.getY())); + // v.add(new PointF(e.getX(), e.getY())); c.drawRect(e.getX() - 1, e.getY() + 1, e.getX() + 1, e.getY() - 1, mPaint); + invalidate(); return true; } - void drawLocation(double x, double y) { + void changMyLocation(double x, double y) { if (centerX < 0) { centerX = x; centerY = y; } - int x1 = (int)(getWidth() / 2 + (x - centerX) * scale); - int y1 = (int)(getHeight() / 2 + (y - centerY) * scale); - c.drawRect(x1 - 1, y1 + 1, x1 + 1, y1 - 1, mPaint); + int x1 = (int) (getWidth() / 2 + (x - centerX) * scale); + int y1 = (int) (getHeight() / 2 + (y - centerY) * scale); + myLocation.x = x1; + myLocation.y = y1; + cout.println(x + " " + y); invalidate(); } - + void drawString(String s) { mPaint.setTextSize(15); c.drawText(s, 0, getHeight() / 2, mPaint); invalidate(); } - + } \ No newline at end of file diff --git a/client/activity-demo/Piztor/src/com/example/piztor/Rmsg.java b/client/activity-demo/Piztor/src/com/example/piztor/Rmsg.java new file mode 100644 index 0000000..8f4f587 --- /dev/null +++ b/client/activity-demo/Piztor/src/com/example/piztor/Rmsg.java @@ -0,0 +1,12 @@ +package com.example.piztor; + +public class Rmsg{ + int id; + double lat; + double lot; + Rmsg(int i,double l,double ll){ + id = i; + lat = l; + lot = ll; + } +} \ No newline at end of file diff --git a/client/activity-demo/Piztor/src/com/example/piztor/Running.java b/client/activity-demo/Piztor/src/com/example/piztor/Running.java index 4ea1526..f4b6135 100644 --- a/client/activity-demo/Piztor/src/com/example/piztor/Running.java +++ b/client/activity-demo/Piztor/src/com/example/piztor/Running.java @@ -29,7 +29,9 @@ public class Running extends Activity { protected void onStart() { super.onStart(); v = (MyView) findViewById(R.id.view); - v.setup(c, b, 31, 121); + v.setup(c, b, -1, -1); + Tracker tr = new Tracker(controller, Running.this); + new Thread(tr).run(); } @Override diff --git a/client/activity-demo/Piztor/src/com/example/piztor/SocketClient.java b/client/activity-demo/Piztor/src/com/example/piztor/SocketClient.java index e66b5bc..472da0d 100644 --- a/client/activity-demo/Piztor/src/com/example/piztor/SocketClient.java +++ b/client/activity-demo/Piztor/src/com/example/piztor/SocketClient.java @@ -36,8 +36,7 @@ public class SocketClient { case 0: String id = (String) req.contain.get(1); String pass = (String) req.contain.get(2); - out.writeUTF(id); - out.writeUTF(pass); + out.writeBytes(id + "\0" + pass); break; case 1: int tk1 = (Integer) req.contain.get(1); @@ -45,7 +44,7 @@ public class SocketClient { String mess = (String) req.contain.get(3); out.writeInt(tk1); out.writeInt(acc); - out.writeUTF(mess); + out.writeBytes(mess); break; case 2: int tk2 = (Integer) req.contain.get(1); @@ -74,6 +73,7 @@ public class SocketClient { r.contain.add(0); r.contain.add(id); r.contain.add(status); + System.out.println(id); break; case 1: r.contain.add(1); @@ -89,11 +89,10 @@ public class SocketClient { r.contain.add(n); for (int i = 1; i <= n; i++) { int tid = in.readInt(); - double lot = in.readDouble(); double lat = in.readDouble(); - r.contain.add(tid); - r.contain.add(lot); - r.contain.add(lat); + double lot = in.readDouble(); + Rmsg a = new Rmsg(tid,lat,lot); + r.contain.add(a); } break; } diff --git a/client/activity-demo/Piztor/src/com/example/piztor/Tracker.java b/client/activity-demo/Piztor/src/com/example/piztor/Tracker.java index ceda506..0222325 100644 --- a/client/activity-demo/Piztor/src/com/example/piztor/Tracker.java +++ b/client/activity-demo/Piztor/src/com/example/piztor/Tracker.java @@ -1,34 +1,41 @@ package com.example.piztor; - import java.util.Timer; import java.util.TimerTask; +import android.content.Context; + public class Tracker implements Runnable { - private static final long TIME_DELTA = 1000 * 60 * 5; - public final Context mContext; - + private static final long TIME_DELTA = 1000 * 10; // 10 seconds + public Timer timer; + private final Context mContext; Controller controller; - public Tracker(Controller newController) { + public Tracker(Controller newController, Context context) { + timer = new Timer(); + mContext = context; controller = newController; } - public Timer timer; public void run() { - TimerTask task = new GPSTask(); - timer.schedule(new GPSTask(), 0, TIME_DELTA); + GPSTask t = new GPSTask(); + t.run(); + //timer.s +// timer.schedule(new GPSTask(), 0, TIME_DELTA); } class GPSTask extends TimerTask { + @Override public void run() { GPSTracker tracker; - tracker = new GPSTracker(Tracker.this); - - double latitude = tracker.getLatitude(); - double longitude = tracker.getLongitude(); - - controller.recieveLocation(latitude, longitude); + tracker = new GPSTracker(mContext); + System.out.println("can get location?"); + if(tracker.canGetLocation()) { + double latitude = tracker.getLatitude(); + double longitude = tracker.getLongitude(); + System.out.println("yes!"); + controller.recieveLocation(latitude, longitude); + } } } } diff --git a/client/activity-demo/Piztor/src/com/example/piztor/Transam.java b/client/activity-demo/Piztor/src/com/example/piztor/Transam.java index e39abd5..db76d06 100644 --- a/client/activity-demo/Piztor/src/com/example/piztor/Transam.java +++ b/client/activity-demo/Piztor/src/com/example/piztor/Transam.java @@ -71,7 +71,9 @@ public class Transam implements Runnable { handler.sendMessage(msg); client.closeSocket(); }catch (UnknownHostException e){ + e.printStackTrace(); }catch (IOException e){ + e.printStackTrace(); } } -- cgit v1.2.3-70-g09d2