Main Menu

Thứ Năm, 1 tháng 9, 2016

LẬP TRÌNH ANDROID SNIPETS

 TÓM TẮT LẬP TRÌNH ANDROID 

1. BẮT TỌA ĐỘ KHI CHẠM TAY VÀO MÀN HÌNH

 

 2. ANIMATION

3. TIMER

  new CountDownTimer(5000, 100) {
            public void onTick(long millisUntilFinished) {
                txtvSo.setText("còn lại: " + millisUntilFinished / 100);
            }

            public void onFinish() {
                txtvSo.setText("done!");
            }
        }.start();

 4.  DI CHUYỂN GIỮA CÁC MÀN HÌNH

5. TRUYỀN THAM SỐ GIỮA CÁC MÀN HÌNH

6. ALERT DIALOG

Button btnNut; 
      @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btnNut = (Button)findViewById(R.id.btnNut);
        btnNut.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub 
                showAlert();
            }
        });
    }

    public void showAlert(){
        AlertDialog.Builder builder = new Builder(this);
        builder.setPositiveButton("ON", new OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub 

            }
        });
        builder.setTitle("Tieu de");
        builder.setMessage("Noi dung ne");

        AlertDialog ad = builder.create();
        ad.show();
    }

7. LIST VIEW CƠ BẢN

B1: Kéo listview vào
<ListView 
android:id="@+id/listviewMonHoc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" >
</ListView>
B2: Viết code code:
  ListView monhocLV = (ListView)findViewById(R.id.listviewMonHoc);
    String[] monhoc = new String[]{
            "iOS cơ bản",
            "iOS nâng cao",
            "PHP & MySQL",
            "Joomla",
            "Wordpress"
    };
    ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, monhoc);
    monhocLV.setAdapter(adapter);
  
**** Bắt sự kiện chọn 1 item trong listview
      monhocLV.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView parent, View view, int position, long id) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), monhoc[position], Toast.LENGTH_SHORT).show();
        }
    });
  
"Mảng monhoc phải thêm final"

8. LIST VIEW NÂNG CAO - CUSTOM ADAPTER

public class ListAdapter extends ArrayAdapter<SinhVien> {

    public ListAdapter(Context context, int resource, List<SinhVien> items) {
        super(context, resource, items);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View view = convertView;
        if (view == null) {
            LayoutInflater inflater = LayoutInflater.from(getContext());
            view =  inflater.inflate(R.layout.ten_file_xml_custom_layout, null);
        }
        SinhVien p = getItem(position);
        if (p != null) {
            // Anh xa + Gan gia tri
            TextView txt = (TextView) view.findViewById(R.id.textView);
         

        }
        return view;
    }

}
 

9. TOAST 

- Toast cơ bản:
Toast toast = Toast.makeText(MainActivity.this, "Hello World", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP, 0, 0); 
toast.show();
- Chèn View vào bên trong Toast:
LayoutInflater inflater = getLayoutInflater();
View layoutQC = inflater.inflate(R.layout.thongbao, (ViewGroup)findViewById(R.id.layoutThongbao));
Toast t = new Toast(MainActivity.this);
t.setView(layoutQC);
t.show();

 10. ÉP KIỂU DỮ LIỆU

Ép số: Integer.parseInt("1987")
Ép chuỗi: String.valueOf(10)

11. PLAY MP3 FROM INTERNET + LOCAL

- From local:
MediaPlayer song = MediaPlayer.create(MainActivity.this, R.raw.nuocmat); 
song.start();

Stop:
 
onPause(); 
song.pause();
- From Internet:
  public void PlayNhacMp3(String url){
        //url = "http://khoapham.vn/download/vietnamoi.mp3";
        MediaPlayer mediaPlayer = new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        try {
            mediaPlayer.setDataSource(url);
            mediaPlayer.prepareAsync();
            mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    mp.start();
                }
            });

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

    }
 12 . CHECKBOX
 

 13. SAVE + READ FILE TXT

- Save file txt
FileOutputStream fos = openFileOutput("khoapham.txt", Context.MODE_PRIVATE); 
fos.write(noidung.getBytes());
fos.close()
- Read file txt
FileInputStream fis = openFileInput("khoapham.txt"); 
BufferedReader br = new BufferedReader(new InputStreamReader(new DataInputStream(fis))); 
String line = ""; 
while( (line = br.readLine()) != null ){ 
txtvNoiDung.append(line); 
txtvNoiDung.append("\n"); 
}

14. CHECK 2 VIEW CHẠM NHAU

15. KÍCH THƯỚC CỦA MÀN HÌNH THIẾT BỊ

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 
int ori = display.getOrientation();

15. WEBVIEW: URL INTERNET & LOCAL HTML 

16. SHARED PREFERENCE
17. SQLITE
   - Sử dụng class Database
 
18. ASYNC
19. XMLDOMPARSER
B1: Tạo class XMLDOMParser
  1. http://khoapham.vn/KhoaPhamTraining/android/XMLDOMParser.rtf
B2: MainActivity
  1. Tạo hàm docNoiDung_Tu_URL(String theUrl) - [ THAY THẾ CHO getXmlFromUrl ]
    Lưu ý: Hàm này tìm ở phía dưới. 
  2. Tạo Async: 
    3. OnCreate : 
 20.  KÍCH HOẠT CAMERA CHỤP HÌNH
Code:

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);



  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
            Bitmap photo = (Bitmap) data.getExtras().get("data");
            img = (ImageView)findViewById(R.id.imageViewHinh);
            img.setImageBitmap(photo);
        }
    }

21. TEXT TO SPEED
TextToSpeech t1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    t1=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
        @Override
        public void onInit(int status) {
            if(status != TextToSpeech.ERROR) {
                t1.setLanguage(Locale.ENGLISH);
                t1.speak("I've been lonely with you", TextToSpeech.QUEUE_FLUSH, null)
            }
        }
    });
}
22. SEND POST ĐẾN WEB SERVER
       

Note: Phải sử dụng Asysnc
  private String makePostRequest() {
    HttpClient httpClient = new DefaultHttpClient();
    
    // URL của trang web nhận request
    HttpPost httpPost = new HttpPost("http://khoapham.vn/post.php");
    
    // Các tham số truyền
    List nameValuePair = new ArrayList(2);
    nameValuePair.add(new BasicNameValuePair("so1", "111"));
    nameValuePair.add(new BasicNameValuePair("so2", "222"));
    
    //Encoding POST data
    try {
        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }

    String kq = "";
    try {
        HttpResponse response = httpClient.execute(httpPost);
        HttpEntity entity = response.getEntity();
        kq = EntityUtils.toString(entity);
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return kq;
}

23. ĐỌC NỘI DUNG CỦA MỘT URL INTERNET

private static String docNoiDung_Tu_URL(String theUrl)
{
    StringBuilder content = new StringBuilder();

    try
    {
        // create a url object
        URL url = new URL(theUrl);

        // create a urlconnection object
        URLConnection urlConnection = url.openConnection();

        // wrap the urlconnection in a bufferedreader
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));

        String line;

        // read from the urlconnection via the bufferedreader
        while ((line = bufferedReader.readLine()) != null)
        {
            content.append(line + "\n");
        }
        bufferedReader.close();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    return content.toString();
}
24. IMAGEVIEW TO BYTE ARRAY

public byte[] ImageView_To_Byte(ImageView imgv){
        
        BitmapDrawable drawable = (BitmapDrawable) imgv.getDrawable();
        Bitmap bmp = drawable.getBitmap();

        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
        byte[] byteArray = stream.toByteArray();
        return byteArray;
}
25. BYTE ARRAY TO IMAGEVIEW 
Bitmap bitmap = BitmapFactory.decodeByteArray(BYTE[], 0, BYTE[].length);
imgv.setImageBitmap(bitmap);

26. CONFIG PARSE CONNECT 

- Add class MyApplication
public class MyApplication extends Application {
    @Override
    public void onCreate(){
        super.onCreate();
        Parse.initialize(this, "xxx", "yyy");
    }
}
- Trong Manifest
android:name="MyApplication"

27. PLAY MP3 FROM BYTE[]

private void playMp3FromByte(byte[] mp3SoundByteArray) {
        try {

            File tempMp3 = File.createTempFile("kurchina", "mp3", getCacheDir());
            tempMp3.deleteOnExit();
            FileOutputStream fos = new FileOutputStream(tempMp3);
            fos.write(mp3SoundByteArray);
            fos.close();

            MediaPlayer mediaPlayer = new MediaPlayer();

            FileInputStream fis = new FileInputStream(tempMp3);
            mediaPlayer.setDataSource(fis.getFD());

            mediaPlayer.prepare();
            mediaPlayer.start();
        } catch (IOException ex) {
            String s = ex.toString();
            ex.printStackTrace();
        }
}

28. CONVERT FILE LOCAL TO BYTE[]

public byte[] FileLocal_To_Byte(String path){
        File file = new File(path);
        int size = (int) file.length();
        byte[] bytes = new byte[size];
        try {
            BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
            buf.read(bytes, 0, bytes.length);
            buf.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return bytes;
}

// path
outputFile = Environment.getExternalStorageDirectory().
                getAbsolutePath() + "/filename.3gpp";

filename.3gpp nằm trong res

29. PLAY FILE MP4 LOCAL VÀ INTERNET

Mp4 Local:
mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.test));
mVideoView.start();

// media controler


MediaController mediaController =  new MediaController(this);
mediaController.setMediaPlayer(mVideoView);
mVideoView.setMediaController(mediaController);

MP4 INTERNET:
Uri uri = Uri.parse("http://khoapham.vn/download/vuoncaovietnam.mp4"); 
mVideoView.setMediaController(new MediaController(MainActivity.this));
mVideoView.setVideoURI(uri); 
mVideoView.start();

Lưu ý:
1 - Nhớ xin Permission Internet
2 - mVideoView: là đối tượng VideoView
3 - Dừng phim lại: mVideoView.stopPlayback();

30. VIẾT ỨNG DỤNG GHI ÂM

Bước 1: Lấy Permissions
< uses-permission android:name="android.permission.RECORD_AUDIO" />
< uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Bước 2: MainActivity:
1. Biến toàn cục:
private MediaRecorder myRecorder;
private MediaPlayer myPlayer;
private String outputFile = null;
2. Hàm OnCreate:
outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/khoaphamvn.3gpp";
myRecorder = new MediaRecorder();
myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
myRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
myRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
myRecorder.setOutputFile(outputFile);
Bước 3: Các hàm xử lý:
1. Bắt đầu ghi âm
public void start(View view){
    try {
        myRecorder.prepare();
        myRecorder.start();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    Toast.makeText(getApplicationContext(), "Start recording...",
            Toast.LENGTH_SHORT).show();
}
2. Dừng ghi âm
public void stop(View view){
    try {
        myRecorder.stop();
        myRecorder.release();
        myRecorder  = null;

        Toast.makeText(getApplicationContext(), "Stop recording...",
                Toast.LENGTH_SHORT).show();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (RuntimeException e) {
        e.printStackTrace();
    }
}
3. Play âm thanh đã thu
public void play(View view) {
    try{
        myPlayer = new MediaPlayer();
        myPlayer.setDataSource(outputFile);
        myPlayer.prepare();
        myPlayer.start();

        Toast.makeText(getApplicationContext(), "Start play the recording...",Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
4. Dừng Play:
public void stopPlay(View view) {
    try {
        if (myPlayer != null) {
            myPlayer.stop();
            myPlayer.release();
            myPlayer = null;

            Toast.makeText(getApplicationContext(), "Stop playing the recording...", Toast.LENGTH_SHORT).show();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

31. SPINNER

1. Cầu hình Spinner dạng cơ bản:
        spinner1 = (Spinner)findViewById(R.id.spinnerChon);

        List list = new ArrayList();
        list.add("list 1");
        list.add("list 2");
        list.add("list 3");
        ArrayAdapter dataAdapter = new ArrayAdapter(this,
                android.R.layout.simple_spinner_item, list);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner1.setAdapter(dataAdapter);

        spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView parent, View view, int position, long id) {
                Toast.makeText(getApplicationContext(), "" + position, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView parent) {

            }
        });
2. Bắt giá trị trong Spinner:
 
        String.valueOf(spinner1.getSelectedItem());          // TPHCM
        String.valueOf(spinner1.getSelectedItemPosition());  // 0

 

 

Không có nhận xét nào:

Đăng nhận xét