Thứ Sáu, 24 tháng 4, 2015

Tạo widget trong android

Đâu tiên là file tạo widget: Tạo file mywidget.xml để cấu hình widget:
Tạo file layout cho widget widgetlayout.xml: Muốn update widget thì dùng: Cuối cùng phải thêm vào manifest:

Ví dụ AlarmManager trong android

Alarm Manager giúp ta khởi động bất cứ thứ gì trong thời gian xác định.
Đầu tiên tạo Activity: Tạo file layout: Tạo file broadcast để nhận sự kiện:

Thứ Năm, 23 tháng 4, 2015

Vẽ đường đi giữa 2 điểm google map android

Đây là file activity: File giao diện: Đây là file helper để parse kết quả : Chú ý manifest: Show cái demo nào:

Tracking google map trong android

Đầy tiên thêm thư viên vào :

và compile 'com.google.android.gms:play-services:6.5.87'
Tiếp theo là đặt quyền:
Tất cả defency nè:

Toàn bộ class activity:

Chủ Nhật, 19 tháng 4, 2015

Đọc và ghi file trong sdcard

Đây là đoạn code create file và viết tới file đó: Đây là đoạn code đọc file:

Thứ Bảy, 18 tháng 4, 2015

Sử dụng DrawerLayout và ActionBar

Code khởi động actionbar (ở đây dùng thư viện support) Code file activity: Code file giao dien: Note : Lưu ý phải dùng theme như sau:

Thứ Sáu, 17 tháng 4, 2015

Hướng dẫn sử dụng Dialog cho android

File layout : Muốn chền một giao diện custom thì cần:

Sử dụng service trong android

Code Activity: Tiếp theo là phần service: Layout giao diện:

Sử dụng Android DownloadManager



    Source code: File download_data_activity.xml

Ví dụ broadcast android

Tạo activity cho việc gửi broadcast:
Đăng kí receive ở manifest để hệ thống nhận biết:

Dùng AsyncTask download image remote

package com.example1;

import java.io.IOException;
import java.io.InputStream;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import com.example.R;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.http.HttpResponseCache;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class TestDownloader extends Activity{
private ImageView downloadedImg;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.testdownloader);
    Button buttondownload = (Button)findViewById(R.id.downloadButton);
    downloadedImg = (ImageView)findViewById(R.id.imageView);
    buttondownload.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new ImageDownloader().execute("http://l.f31.img.vnecdn.net/2015/04/17/Bo-Quoc-phong-7820-1429243661-5341-1429243765_490x294.jpg");
}
});
    }
    private class ImageDownloader extends AsyncTask<String,Bitmap,Bitmap>{

@Override
protected Bitmap doInBackground(String... params) {
// TODO Auto-generated method stub
return downloadBitMap(params[0]);
}
@Override
protected void onPostExecute(Bitmap result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
downloadedImg.setImageBitmap(result);
}
    private Bitmap downloadBitMap(String url)
    {
    final DefaultHttpClient client = new DefaultHttpClient();
    final HttpGet getRequest = new HttpGet(url);
    HttpResponse response;
try {
response = client.execute(getRequest);

    final int statusCode = response.getStatusLine().getStatusCode();
    if(statusCode != HttpStatus.SC_OK)
    {
    Log.d("phanbom", "ko thanh cong");
    }
    final HttpEntity entity = response.getEntity();
    if(entity != null)
    {
    InputStream inputStream = null;
    inputStream = entity.getContent();
    final Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
    return bitmap;
    }
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
    }

    }
}