package com.tv.view; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Random; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.hardware.Camera; import android.hardware.Camera.CameraInfo; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.os.Environment; import android.view.Gravity; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.google.android.maps.GeoPoint; import com.tv.btl.BaseApplication; import com.tv.btl.R; import com.tv.btl.Ulti; import com.tv.camera.CameraTask; import com.tv.camera.PhotoHandler; import com.tv.listener.ProductListener; import com.tv.model.Product; import com.tv.task.ProductTask; public class NewPost extends Activity implements ProductListener { private PhotoHandler phandler; private int camera; private boolean back=false; private String path; private FileOutputStream fo; String uri; EditText pname = null; EditText des = null; ImageView pimage = null; public void onCreate(Bundle save) { super.onCreate(save); setContentView(R.layout.post_product); pname = (EditText) findViewById(R.id.pp_name); des = (EditText) findViewById(R.id.pp_description); pimage = (ImageView) findViewById(R.id.pp_image); } public void onTakePhoto(View v){ Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); startActivityForResult(intent, 1); } public void onSave(View v) { if(uploadAble()){ Product pr = new Product(); int uid=((BaseApplication)getApplication()).getID(); String pr_name =pname.getText().toString(); String pr_Des= des.getText().toString(); pr.setUid(uid); pr.setPname(pr_name); pr.setDes(pr_Des); pr.setPathImage(uri); LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new GeoUpdateHandler()); Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); double longitude = location.getLongitude(); double latitude = location.getLatitude(); pr.setLat(latitude); pr.setLon(longitude); ProductTask t= new ProductTask(ProductTask.NEWPOST, this); t.execute(pr); } else { Toast t= Toast.makeText(this, "Kiểm tra lại các trường", Toast.LENGTH_SHORT); t.setGravity(Gravity.CENTER, 0, 0); t.show(); } } public void onActivityResult(int requestCode,int resultCode,Intent data){ if (requestCode == 1 && resultCode == RESULT_OK) { Bitmap photo = (Bitmap) data.getExtras().get("data"); ByteArrayOutputStream bytes = new ByteArrayOutputStream(); photo.compress(Bitmap.CompressFormat.JPEG, 40, bytes); Random randomGenerator = new Random(); randomGenerator.nextInt(); File folderContainer = new File( Environment .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "RVStore"); if (!folderContainer.exists()) { folderContainer.mkdir(); } //path folder Image container String path = folderContainer.getAbsolutePath(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyymmddhhmmss"); String date = dateFormat.format(new Date()); String photoFile = "Raovat" + date + ".jpg"; File f = new File(folderContainer.getAbsoluteFile()+photoFile); try { f.createNewFile(); } catch (IOException e) { e.printStackTrace(); } try { fo = new FileOutputStream(f.getAbsoluteFile()); } catch (FileNotFoundException e) { e.printStackTrace(); } try { fo.write(bytes.toByteArray()); fo.close(); } catch (IOException e) { e.printStackTrace(); } uri = f.getAbsolutePath(); Bitmap b = BitmapFactory.decodeFile(uri); pimage.setImageBitmap(b); Ulti.scaleImage(pimage, 400); } // CameraTask t = new CameraTask(); // t.execute(uri); } private boolean uploadAble(){ boolean c=true; c=c&&!pname.getText().toString().equals(""); c=c&&!des.getText().toString().equals(""); return c; } public void saveFinish() { finish(); } public void reloadFeed() { // TODO Auto-generated method stub } public void reload() { // TODO Auto-generated method stub } public void reload(List<Product> params) { // TODO Auto-generated method stub } public void loadMore(List<Product> params) { // TODO Auto-generated method stub } public class GeoUpdateHandler implements LocationListener { public void onLocationChanged(Location location) { int lat = (int) (location.getLatitude() * 1E6); int lng = (int) (location.getLongitude() * 1E6); GeoPoint point = new GeoPoint(lat, lng); } public void onProviderDisabled(String provider) { } public void onProviderEnabled(String provider) { } public void onStatusChanged(String provider, int status, Bundle extras) { } } }