RSS

Category Archives: Android Developmennt

Cài đặt Driver ADB cho Nook Color – Window Version

  • Bạn là 1 lập trình viên Android
  • Bạn khó chịu khi phải debug trên Emulator vì sự chậm chạp của nó
  • Kinh tế ko quá dư giả để có thể mua một tablet hoàn hảo

Nếu như bạn có 3 yếu tổ trên thì hãy đọc tiếp nha ====>

Nook Color: bản chất là 1 chiếc máy đọc sách với giá thành khá hợp lý (giá mới khoảng từ 150$ đến 200$) nhưng lại rất dễ dàng cho các vọc sĩ.

Vậy sao để bạn có thể debug ứng dụng của nền tảng Android trên một chiếc máy đọc sách =>

Chúng ta sẽ sử dụng CyanogenMod (mình đang dùng version 7.2 kernel: 2.3.7) để mod lại chiếc nook color của  mình. Sau khi chạy CyanogenMod thì nook color sẽ như 1 chiếc tablet thật sự và thậm chí còn overlock lên 1.2Ghz để sử dụng.

Sau khi đã cài đặt CM7.2 cho nook xong, chúng ta bắt đầu cài đặt driver để có thể chạy những “đứa con” của Android Developer trên nook color.

Các công cụ cần thiết:

Eclipse

Android-SDK-Windows : phần ko thể thiếu của 1 lập trình viên Android

USB – Driver for Nook Color

Let’s go:

Sau khi tải và cài đặt , tích hợp android developer tool cho eclipse xong =>Tutorial Here<=

Giải nén Driver for Nook Color vào thư mục Android-SDK-Windows

Cắm chiếc nook color vào máy tính của bạn, mở device manager, sẽ thấy báo có 1 thiết bị chưa cài đặt driver.

Bạn double click vào đó, và chọn update driver => Browse my computer > Let me pick > Have Disk

Chỉ đường dẫn đến thư mục SDK/usb-driver của bạn và cài đặt.

Sau khi cài đặt xong trong thư mục \users\[tên máy]\.android có 1 file là adb_usb.ini, edit file này bằng notepad và paste vào “0×2080″

Mở CMD = > cd [thư mục android-sdk] => platform-tools

adb kill-server

adb devices

nếu cmd báo nhận đc devices của bạn là ok, bây giờ thì mở eclipse để chạy ứng dụng của bạn thôi.

Chúc bạn thành công.

 
Leave a comment

Posted by on 08/04/2012 in Android Developmennt

 

Thẻ: , , , ,

Auto Format Currency On Edittext Android

Đầy là đoạn code để khi nhập ký tự vô Edittext trên Android, sẽ tự động format thêm phân chia dấu ngăn cách và format về định dạng tiền tệ:

 
txtNewItemPrice.addTextChangedListener(new TextWatcher() {
 private String current = "";
 @Override
 public void onTextChanged(CharSequence s, int start, int before, int count) {
 // TODO Auto-generated method stub

 if(!s.toString().equals(current)){

 String cleanString = s.toString().replaceAll("[$,.]", "");

 double parsed = Double.parseDouble(cleanString);

 String formated = NumberFormat.getInstance().format((parsed/100));

 current = formated;

 txtNewItemPrice.setText(formated);
 txtNewItemPrice.setSelection(formated.length());
 }

 }

 @Override
 public void beforeTextChanged(CharSequence s, int start, int count,
 int after) {
 // TODO Auto-generated method stub

 }

 @Override
 public void afterTextChanged(Editable s) {
 // TODO Auto-generated method stub

 }
 });

Đây là đoạn code tương tụ như trên nhưng sẽ ko có dấu “$”, để lưu trữ bớt gặp khó khăn khi thay đổi locale.

txtNewItemPrice.addTextChangedListener(new TextWatcher() {
 private String current = "";
 @Override
 public void onTextChanged(CharSequence s, int start, int before, int count) {
 // TODO Auto-generated method stub
 if(!s.toString().equals(""))
 {
 if(!s.toString().equals(current)){

 String cleanString = s.toString().replaceAll("[,.]", "");

 double parsed = Double.parseDouble(cleanString);

 String formated = NumberFormat.getInstance().format((parsed));

 current = formated;

 txtNewItemPrice.setText(formated);
 txtNewItemPrice.setSelection(formated.length());
 }
 }
 }

 @Override
 public void beforeTextChanged(CharSequence s, int start, int count,
 int after) {
 // TODO Auto-generated method stub

 }

 @Override
 public void afterTextChanged(Editable s) {
 // TODO Auto-generated method stub

 }
 });

Ở đây có 1 lỗi, là ko sử đụng được các kỹ tự thập phân, ví dụ như 2,333.3 sẽ ko hiểu. Bro nào làm được rồi pm lại dùm mình nha.

Ở 2 đoạn code có 1 sự khác biệt, với đoạn code trên (tham khảo trang nước ngoài) bạn sẽ bij lõi khi xóa hết các ký tự, nên khi customize lại, mình đã thêm đk để bỏ qua điều này.

Chúc các bạn thành công

 
Leave a comment

Posted by on 17/02/2012 in Android Developmennt

 

Thẻ: , , , ,

Sử dụng Camera và MediaStore trong Android Development

Để có thể sử dụng trực tiếp Camera của thiết bị mà ko cần phải dùng Api Camera do Google cung cấp.

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(Intent.createChooser(cameraIntent,”Select Picture”), CAMERA_PIC_REQUEST);

Sau khi goi được Camera sử dụng hàm onActivityResult để lấy kết quả

if(requestCode == CAMERA_PIC_REQUEST && resultCode == Activity.RESULT_OK)
{
Uri newuri = null;
final ContentResolver cr = getContentResolver();
final String[] p1 = new String[] {
MediaStore.Images.ImageColumns._ID,
MediaStore.Images.ImageColumns.DATE_TAKEN
};
Cursor c1 = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, p1, null, null, p1[1] + ” DESC”);
if ( c1.moveToFirst() ) {
String uristringpic = “content://media/external/images/media/” +c1.getInt(0);
newuri = Uri.parse(uristringpic);
Log.i(“tho”, “newuri “+newuri);

}
c1.close();

String imagePath = getPath(newuri);

Log.i(“tho”, “Image Path “+imagePath);
AppDataStatic.imgReportPath1 = imagePath;
Bundle extras = data.getExtras();
Bitmap bmp = (Bitmap) extras.get(“data”);
rightFragmentGeneral = (SettingsGeneral)getFragmentManager().findFragmentByTag(“rightFragmentGeneral”);
imgRestaurant = (ImageView) rightFragmentGeneral.getView().findViewById(R.id.imageRestaurant);
imgRestaurant.setImageBitmap(bmp);
alert.dismiss();
}

Tương tự như z, chúng ta có thể làm hàm để select hình ảnh từ mediastore

Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
/* intent.setType(“image/*”);
intent.putExtra(“return-data”, true);*/
startActivityForResult(intent, STORE_PIC_REQUEST);

Và lấy kết quả từ onActivityResult

alert.dismiss();
Uri selectedImageUri = data.getData();
Log.i(“tho”,”selected Image Uri “+selectedImageUri);

String selectedImagePath = getPath(selectedImageUri);
Log.i(“tho”,”selectedImagePath ” +selectedImagePath);
AppDataStatic.imgReportPath1 = selectedImagePath;

rightFragmentGeneral = (SettingsGeneral)getFragmentManager().findFragmentByTag(“rightFragmentGeneral”);
imgRestaurant = (ImageView) rightFragmentGeneral.getView().findViewById(R.id.imageRestaurant);
imgRestaurant.setImageURI(selectedImageUri);

Chúc các bạn thành công!

 
Leave a comment

Posted by on 16/02/2012 in Android Developmennt

 

Thẻ: , , ,

Bộ tài liệu học lập trình Android – Android Development

  1. Apress Begining Android: DOWNLOAD HERE
  2. Apress Begining Android 2: DOWNLOAD HERE
  3. Android Application Development: DOWNLOAD HERE
  4. Profesional Android Application Development: DOWNLOAD HERE
  5. Hello Android: DOWNLOAD HERE
  6. maning Unlocking Android : Liên hệ it_tran90 (do dung lượng file lớn nên không up lê mạng được)
 
1 Comment

Posted by on 07/09/2011 in Android Developmennt

 

Thẻ: , , , ,

Tích Hợp Plug-In Android SDK vào Eclipse trên Ubuntu

Bài trước mình đã hướng dẫn các bạn cài đặt android sdk và tích hợp plug-in vào eclipse trên window, hôm nay mình sẽ hưỡng dẫn các banj tích hợp trên Linux (Mình chọn lựa sử dụng và demo trên Ubuntu 10.10 Maverick).

Đầu tiên, bạn cần truy cập vào Android website và download SDK. Phải chọn phiên bản Linux.

android-sdk-download
Giải nén file đã download vào thư mục chủ. Khi đó bạn sẽ thấy thư mục với tên “android-sdk-linux_x86”.
Bước 2: Mở Terminal lên là mở file .bashrc lên:
gedit ~/.bashrc
Add vào file đó đoạn code sau:
export PATH=${PATH}:<your_sdk_dir>/tools
Thay thế <your_sdk_dir> bằng đường dẫn file thực cho thư mục SDK. Nếu bạn đã bung file vào thư mục chủ của mình, khi đó nó sẽ có dạng/home/your_username/android_sdk_linux_x86/.
Sau khi đã giải nén android sdk nhưng trong này chưa có các platfrom cho chúng ta tạo cac Emulator.
Bước 3: Cài đặt, update android SDK (Yêu cầu tình kiên trì và mạng khỏe). Chắc cũng cả đêm đó, nên tốt nhất cắm máy cho load rồi đi ngủ mai làm tiếp.
Vào đường dẫn sau:
[SDK Folder]/tools/android
double click vào file android mà run intermal, đến đây sẽ mở ra SDK manager cho các bạn lựa chọn platform và cài đặt.
Và chở đợi.
SAu khi cài đặt Android SDK xong chúng ta cài đătj Eclipse trên Linux: Tutorial Here

Khi cài đặt được hoàn tất, mở Eclipse (Application -> Programming -> Eclipse)
Trên menubar, kích Help -> Install new software

android-sdk-eclipse1
Tại trường Work with, nhập vào https://dl-ssl.google.com/android/eclipse và nhấn nút Add.
Check vào các Developer Tools cho Android mà chờ cài đặt, sau khi cài đặt thành công sẽ auto restart exlipse của bạn.

Vào Windows -> Preferences. Bên phía trái, chọn entry Android.

Nhập đường dẫn file Android vào trường SDK location. Kích Apply và OK.

Công việc vậy là OK! Chúc các bạn thành công.

Nguồn tham khảo: http://onthefencedevelopment.com/?p=455

 

Thẻ: , , , ,

Làm Việc Với XML Trên Android – Phần 1

Giới thiệu
Android là một hệ điều hành nguồn mở, hiện đại và là SDK cho các thiết bị di động. Với hệ điều hành này, bạn có thể tạo ra các ứng dụng di động rất mạnh. Điều này thậm chí còn trở nên hấp dẫn hơn nữa khi các ứng dụng của bạn có thể truy cập các dịch vụ Web, có nghĩa là bạn cần sử dụng ngôn ngữ của Web là: XML. Trong bài viết này, bạn sẽ thấy nhiều lựa chọn khác nhau để làm việc với XML trên Android và cách sử dụng chúng để xây dựng các ứng dụng Android của chính bạn.
Bắt đầu
Trong bài viết này, bạn học cách xây dựng các ứng dụng Android có thể làm việc với XML từ Internet. Các ứng dụng Android được viết bằng ngôn ngữ lập trình Java™, do vậy mà kinh nghiệm làm việc với công nghệ Java là điều cần phải có. Để phát triển cho Android, bạn sẽ cần đến Android SDK. Toàn bộ mã trình được trình bày trong bài viết này sẽ làm việc với bất kỳ phiên bản nào của Android SDK, nhưng phiên bản SDK 1.5_pre đã được sử dụng để phát triển mã trình. Bạn có thể phát triển các ứng dụng Android chỉ với SDK và một trình biên tập văn bản là đủ, nhưng sẽ dễ dàng hơn nhiều nếu sử dụng Android Developer Tools (ADT), là một trình bổ sung Eclipse. Đối với bài viết này, phiên bản 0.9 của ADT đã được dùng với Eclipse 3.4.2, một phiên bản Java.
XML trên Android
Nền tảng Android là một nền tảng phát triển di động mã nguồn mở. Nó giúp bạn truy cập vào tất cả các khía cạnh của thiết bị di động mà nó chạy trên đó, từ các đồ họa cấp thấp, đến phần cứng như là thiết bị camera trên điện thoại. Với rất nhiều thứ có thể sử dụng Android, có thể bạn sẽ tự hỏi tại sao bạn cần phiền đến XML. Đó không phải vì làm việc với XML rất thú vị; mà là nó đang làm việc với những thứ mà nó kích hoạt. XML thường được dùng như là một định dạng dữ liệu trên Internet. Nếu bạn muốn truy cập dữ liệu từ Internet, các khả năng có thể là dữ liệu sẽ ở dạng XML. Nếu bạn muốn gửi dữ liệu đến một dịch vụ Web, có thể bạn cũng cần gửi cả dữ liệu XML. Nói ngắn gọn là nếu ứng dụng Android của bạn thúc đẩy Internet, thì có thể bạn sẽ cần phải làm việc với XML. Thật may mắn là bạn có rất nhiều lựa chọn có sẵn để làm việc với XML trên Android.
Các trình phân tích XML
Một trong nhữn ưu điểm lớn nhất của nền tảng Android chính là việc nó thúc đẩy ngôn ngữ lập trình Java. Android SDK không hoàn toàn cung cấp sẵn mọi thứ cho Môi trường Thời gian chạy Java (JRE) chuẩn của bạn, nhưng nó lại hỗ trợ một phần rất đáng kể cho nó. Nền tảng Java đã và đang hỗ trợ rất nhiều cách khác nhau để làm việc với XML trong thời gian nhất định, và hầu hết các API có liên quan đến XML của Java đều được hỗ trợ đầy đủ trên Android. Ví dụ, Simple API của Java cho XML (SAX) và Document Object Model (DOM) hiện đều có sẵn trên Android. Nhiều năm qua, cả hai API này là một phần của công nghệ Java. Sản phẩm Streaming API mới đây cho XML (StAX) hiện chưa có trong Android. Tuy nhiên, Android lại cung cấp một thư viện tương đương về mặt chức năng. Điều cuối cùng là Java XML Binding API cũng không có sẵn trong Android. Chắc chắn có thể thực hiện API này trong Android. Tuy nhiên, nó lại có xu hướng là một API nặng ký, với rất nhiều thể hiện khác nhau thuộc các lớp khác nhau thường cần việc trình bày một tài liệu XML. Do vậy mà nó không lý tưởng lắm cho một môi trường bị ràng buộc chẳng hạn như thiết bị cầm tay mà Android được thiết kế để chạy trên đó. Trong các phần tiếp theo, bạn sẽ lấy một nguồn XML đơn giản có sẵn trên Internet, và xem cách phân tích nguồn đó như thế nào trong phạm vi một ứng dụng Android sử dụng các API khác nhau được nhắc đến ở trên.Trước tiên, hãy xem các phần cần thiết của ứng dụng đơn giản sẽ sử dụng XML từ Internet.

Các Từ Viết Tắt Thông Dụng

  • API: Application programming interface (Giao diện lập trình ứng dụng)
  • RSS: Really Simple Syndication (Giao thức tập hợp thông tin đơn giản)
  • SDK: Software Developers Kit (Bộ dụng cụ cho nhà phát triển phầm mềm)
  • UI: User interface (Giao diện người dùng)
  • URL: Universal Resource Locator (Địa chỉ tài nguyên)
  • XML: Extensible Markup Language (Ngôn ngữ đánh dấu mở rộng)
Trình đọc tin Android
Ứng dụng sẽ lấy điểm tin RSS từ trang nhà phát triển Android phổ biến Androidster và phân tách nó thành một danh sách các đối tượng Java đơn giản mà bạn có thể sử dụng để quay lại Android ListView. Đây là hoạt động đa hình thái cổ điển — tức là các thực thi khác nhau (các thuật toán phân tích XML khác nhau) cung cấp hoạt động giống nhau. Ví dụ 1 dưới đây cho bạn thấy bạn có thể mô hình hóa điều này dễ dàng như thế nào trong mã trình Java sử dụng một giao diện.
Ví dụ 1. giao diện trình phân tích điểm tin XML
package org.developerworks.android;

import java.util.List;
public interface FeedParser {
List<Message> parse();
}
Trong ví dụ 2, lớp Message là một POJO (Plain Old Java Object) cổ điển miêu tả một cấu trúc dữ liệu.
Ví dụ 2. Message POJO
public class Message implements Comparable<Message>{

static SimpleDateFormat FORMATTER =
new SimpleDateFormat(“EEE, dd MMM yyyy HH:mm:ss Z”);
private String title;
private URL link;
private String description;
private Date date;
// getters and setters omitted for brevity
public void setLink(String link) {
try {
this.link = new URL(link);
} catch (MalformedURLException e) {
throw new RuntimeException(e);
}
}
public String getDate() {
return FORMATTER.format(this.date);
}
public void setDate(String date) {
// pad the date if necessary
while (!date.endsWith(“00″)){
date += “0″;
}
try {
this.date = FORMATTER.parse(date.trim());
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
@Override
public String toString() {
// omitted for brevity
}
@Override
public int hashCode() {
// omitted for brevity
}
@Override
public boolean equals(Object obj) {
// omitted for brevity
}
// sort by date
public int compareTo(Message another) {
if (another == null) return 1;
// sort descending, most recent first
return another.date.compareTo(date);
}
}
Message, trong ví dụ 2, thường rất dễ làm. Nó ẩn đi một vài trạng thái bên trong của mình bằng cách cho phép truy cập ngày tháng và các liên kết như các chuỗi đơn giản, trong khi thể hiện chúng như các đối tượng được sắp xếp một cách rõ ràng (một java.util.Date và một java.net.URL). Nó là một Value Object (Đối tượng Giá trị) cổ điển, do vậy nó thực thi equals() và hashCode() dựa trên trạng thái bên trong của nó. Nó cũng thực hiện giao diện Comparable vì thế bạn có thể sử dụng nó để sắp xếp (theo ngày tháng). Thực tế, dữ liệu được phân loại từ điểm tin, do vậy mà điều này không cần thiết.
Mỗi thực thi trình phân tích sẽ cần đưa một URL đến điểm tin Androidster và sử dụng cái này để mở một kết nối HTTP đến trang Androidster. Hoạt động phổ biến này được mô hình hóa một cách tự nhiên trong mã trình Java sử dụng lớp cơ sở trừu tượng như trong Ví dụ 3.
Ví dụ 3. Lớp trình phân tích điểm tin cơ bản
public abstract class BaseFeedParser implements FeedParser {

// names of the XML tags
static final String PUB_DATE = “pubDate”;
static final  String DESCRIPTION = “description”;
static final  String LINK = “link”;
static final  String TITLE = “title”;
static final  String ITEM = “item”;
final URL feedUrl;
protected BaseFeedParser(String feedUrl){
try {
this.feedUrl = new URL(feedUrl);
} catch (MalformedURLException e) {
throw new RuntimeException(e);
}
}
protected InputStream getInputStream() {
try {
return feedUrl.openConnection().getInputStream();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
Lớp cơ sở lưu trữ feedUrl và sử dụng nó để mở java.io.InputStream. Nếu có bất kỳ sai sót nào, đơn giản nó thả một RuntimeException, sao cho ứng dụng dừng hoạt động một cách nhanh chóng. Lớp cơ sở cũng xác định một vài hằng số đơn giản cho tên các thẻ. Ví dụ 4 trình bày một số nội dung mẫu từ điểm tin, qua đó bạn có thể thấy được ý nghĩa của các thẻ này.
Ví dụ 4. Điểm tin XML mẫu
<?xml version=”1.0″ encoding=”UTF-8″?>

<!– generator=”FeedCreator 1.7.2″ –>
<rss version=”2.0″>
<channel>
<title>android_news</title>
<description>android_news</description>
<link>http://www.androidster.com/android_news.php</link>
<lastBuildDate>Sun, 19 Apr 2009 19:43:45 +0100</lastBuildDate>
<generator>FeedCreator 1.7.2</generator>
<item>
<title>Samsung S8000 to Run Android, Play DivX, Take Over the
World</title>
<link>http://www.androidster.com/android_news/samsung-s8000-to-run-android-
play-divx-take-over-the-world</link>
<description>More details have emerged on the first Samsung handset
to run Android. A yet-to-be announced phone called the S8000 is being
reported …</description>
<pubDate>Thu, 16 Apr 2009 07:18:51 +0100</pubDate>
</item>
<item>
<title>Android Cupcake Update on the Horizon</title>
<link>http://www.androidster.com/android_news/android-cupcake-update-
on-the-horizon</link>
<description>After months of discovery and hearsay, the Android
build that we have all been waiting for is about to finally make it
out …</description>
<pubDate>Tue, 14 Apr 2009 04:13:21 +0100</pubDate>
</item>
</channel>
</rss>
Như bạn có thể thấy từ mẫu trong ví dụ 4, một ITEM tương đương với một thể hiện Message. Các nút con của mục chọn (TITLE, LINK và v.v..) tương đương các đặc tính của thể hiện Message. Vì bạn biết điểm tin trông như thế nào rồi và có sẵn tất cả các phần phổ biến, hãy xem làm thế nào để phân tách điểm tin này sử dụng các công nghệ khác nhau có sẵn trên Android. Bạn sẽ bắt đầu với SAX.
Sử dụng SAX
Trong môi trường Java, bạn có thể thường xuyên sử dụng SAX API khi bạn muốn có một trình phân tích nhanh và muốn hạn chế tối đa việc sử dụng (footprint) bộ nhớ ứng dụng của bạn. Điều đó khiến cho cho nó rất phù hợp cho thiết bị di động chạy Android. Bạn có thể sử dụng SAX API như là từ môi trường Java, mà không cần đến những thay đổi đặc biệt cần thiết để chạy trên Android. Ví dụ 5 trình bày một thực thi SAX của giao diện FeedParser.
Ví dụ 5. Thực thi SAX
public class SaxFeedParser extends BaseFeedParser {

protected SaxFeedParser(String feedUrl){
super(feedUrl);
}
public List<Message> parse() {
SAXParserFactory factory = SAXParserFactory.newInstance();
try {
SAXParser parser = factory.newSAXParser();
RssHandler handler = new RssHandler();
parser.parse(this.getInputStream(), handler);
return handler.getMessages();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
Nếu trước đây bạn đã sử dụng SAX, thì cái này trông cũng khá quen thuộc. Như với bất kỳ thực thi SAX nào, phần lớn các chi tiết đều nằm trong trình xử lý SAX. Trình xử lý nhận các sự kiện từ trình phân tích SAX khi nó chạy nhanh qua tài liệu XML. Trong trường hợp này, bạn vừa tạo ra một lớp mới gọi là RssHandler và đăng ký nó như là một trình xử lý cho trình phân tích, như trong ví dụ 6.
Ví dụ 6. Trình xử lý SAX
import static org.developerwor Read the rest of this entry »
 
Leave a comment

Posted by on 13/04/2011 in Android Developmennt

 

Cơ Bản Android – Tích Hợp Android Vào Eclipse – Phần 1

I.Hướng Dẫn Cài Đặt Android Với Eclipse

1.Download Android SDK

Android SDK thực chất là tập hợp các công cụ và thư viện để phát triển các ứng dụng trên nền tảng hệ điều hành Android.

B1: Vào trang http://developer.android.com/sdk/index.html để tải Android SDK Starter. Tùy thuộc vào hệ điều hành mà bạn chọn bản Mac, Linux hay Window. Ở đây mình chọn tải bản cho Window.

B2: Giải nén file zip bạn vừa tải về. Chạy SDK Setup.exe. Bạn có thể gặp thông báo lỗi Fetching https://dl-sl… Failed to fetch… Close thông báo này lại. Tiếp theo cửa sổ Choose Packages to Install xuất hiện. Nếu cửa sổ này trống rỗng -> Cancel.

-> Quay về cửa sổ Android SDK and AVD manager -> Chọn Setting, đánh dấu vào ô Force https://...

-> Chọn Available Packages.

B3: Đánh dấu các Packages bạn muốn tải: Documents chính là phần Javadoc mô tả hoạt động của các phương thức và các lớp (phần này chắc chắn không thể thiếu rồi), Sample là các đoạn code mẫu, SDK Platform ứng với các phiên bản hệ điều hành (2.2 – API level 8, 2.1 – API level 7,…), và Google API để phát triển các phần mềm liên quan đến dịch vụ của Google (như Google Map nếu bạn muốn lập trình liên quan đến GPS).
Các bạn có thể tải hết nếu thích, còn muốn tối ưu thì có thể đánh dấu như mình (lưu ý USB drivers chỉ dành cho người sử dụng Windows và muốn phát triển ứng dụng test bằng điện thoại thật).

->    Install Selected

->   Install

->    Cửa sổ Install hiện ra

->    Ngồi chờ (>_<)

2.Tích Hợp Android SDK Vào Eclipse

B1: Tải Eclipse nếu bạn chưa có. Mọi người có thể phân vân không biết tải bản nào cho phù hợp, nhưng theo ý kiến của mình thì có thể dùng 1 trong 2 bản sau: Eclipse for Java Developers, hoặc Eclipse for Java and Report Developers (mình dùng bản sau).

B2: Khởi chạy Eclipse, vào Help -> Install new softwares.
Chọn Add, gõ vào ô Name tên bạn muốn và Location gõ vào địa chỉ để tải về ADT.

HTML code:

 

https://dl-ssl.google.com/android/eclipse/

 

Hoặc:

 

http://dl-ssl.google.com/android/eclipse/

 

 

Nếu https không hoạt động. Ngoài ra bạn cũng có thể tải thẳng ADT về máy theo linkhttp://dl.google.com/android/ADT-0.9.7.zip (bản mới nhất 0.9.7 ứng với Android 2.2), chọn Archive và browse tới file này (lưu ý không giải nén)
-> OK
-> Check vào phần dưới ô Name (sẽ hiện ra dòng Developer Tools).

B3: Next, next, Accept, next,…Finish (như Install mọi chương trình bình thường).

B4: Eclipse -> Windows -> Preferences -> Android
Nhấn nút Browse và chỉnh đường dẫn tới thư mục của Android SDK bạn tải lúc trước.
-> Apply
-> OK

3.Android Virtual Device(Emulator)

AVD là máy ảo cho developer phát triển ứng dụng. Để tạo 1 AVD bạn vào Windows -> Android SDK and AVD Manager -> Virtual Devices chọn New.
-> Cửa sổ Create new AVD hiện ra, bạn điền thông tin cho AVD bạn muốn:

 

Name: Tùy ý (nhưng chỉ được sử dụng các ký tự “a-z”, “A-Z”, “.-_”, nghĩa là cả khoảng trắng cũng ko đc).
Target: Chọn phiên bản hệ điều hành bạn muốn (thường mình tạo một Android 1.6 và một Android 2.2 để test).

SD Card: gõ vào Size SD card ảo cho AVD, hoặc chỉnh tới file đã có sẵn. Nhiều AVD có thể dùng chung 1 Sdcard (chỉ cần tạo lần đầu, các lần sau chỉnh đường dẫn tới file đó).

Skin: có thể để Default (HVGA) hoặc chọn kích cỡ màn hình bạn muốn. Chỉ cần quan tâm tới 3 option: HVGA (phân giải 320-480 như G1, G2, i5700…), QVGA (240-320 như HTC Wildfire…), WVGA854 (480-854 như Milestone, NexusOne…)
-> Create AVD.

II.Một Số Chức Năng Cần Thiết Khi Lập Trình Android Với Eclipse

Những điều mình nêu ra dưới đây đều là cơ bản, có thể các pro đã biết hết rồi, nhưng như mình đã nói, bài này là dành cho newbie với hi vọng gia tăng kiến thức cơ bản cùng giảm thời gian tìm kiếm cho các bạn.

1.Debug Cho Ứng Dụng Android

Nhiều người chuyển từ J2SE hoặc J2ME sang Android sẽ ngạc nhiên vì câu lệnh debug kinh điểnSystem.out.println() không còn in ra trên cửa sổ Console nữa. Google đã thay thế nó bằng Logcat, một cửa sổ ghi lại toàn bộ hoạt động của hệ điều hành. Để mở Logcat, trước tiên các bạn chọn Window -> Open Perspective -> Debug. Nếu ko thấy option Debug thì chọn Other và tìm Debug trong cửa sổ mới hiện ra. Sau đó chọn tab Debug mới xuất hiện ở góc trên bên phải của Eclipse (xem hình). Theo kinh nghiệm của mình thì tốt nhất là Maximize Logcat ra luôn cho dễ quan sát.

Cảm nhận ngày xưa khi mới sử dụng Logcat là rối và khó dùng. Nhưng càng về sau mình càng quen và thấy nó tiện hơn Console nhiều, vì Console chỉ đưa ra thông báo do chúng ta gọi, còn Logcat thì đưa cả luôn những thông báo của hệ điều hành, giúp chúng ta nắm được hệ điều hành đang làm gì, gọi đến cái gì, khởi chạy những gì…

2.File Explore Của Android

File Explorer là một chức năng hữu ích Google đưa vào giúp chúng ta quản lý file trong sd card và cả file system data (chỉ quản lý được của emulator, không thể truy nhập system data của thiết bị thật). FE giúp bạn dễ dàng đưa file vào / lấy file ra trong sdcard ảo của emulator, xóa cơ sở dữ liệu của chương trình để khởi tạo lại (only emulator)…

Mở FE bằng cách vào Window -> Show View -> Others -> Android -> File Explorer. Mình để FE trong cửa sổ Debug cho tiện quản lý.

3.Device Của Android

Device cũng là một chức năng hữu ích nữa trong Android giúp bạn quản lý thiết bị ảo cũng như thật của mình. Mở Device bằng cách vào Window -> Show View -> Device hoặc vào Window -> Show View -> Others -> Android -> Device.

Chức năng mình thường sử dụng nhất của device là Screen Capture, cực kỳ tiện để lấy ảnh minh họa làm thuyết trình hoặc giới thiệu trên Google Market.

III.Một Số Thủ Thuật Trong Android Và Eclipse

1.Hiển Thị Tiếng Việt

Window -> Preferences -> General -> Workspace.

Trong Workspace phần Text File Encoding chọn Other -> UTF-8.

2.Tự Động Sổ Code

Tổ hợp phím kinh điển Ctrl + Space (điều kỳ lạ là khá nhiều người không biết).

3.Comment

Ctrl + “/”: tự động thêm cụm “//” vào đầu dòng (ko tiện lắm).
Ctrl + Shift + “/”: tự động thêm “/* */” vào cụm được bôi đen.
Ctrl + Shift + “\”: tự động bỏ “/* */” vào cụm được bôi đen.

4.Override

Đôi lúc bạn muốn Override phương thức của một lớp có sẵn, ko lẽ chúng ta sẽ đi tìm tên phương thức trên mạng và gõ đúng lại như thế? Nhiều bạn đã gặp lỗi khi định viết lại phương thức này và debug mãi ko ra (vì nó ko phải là lỗi).
Mã:

@Override

        public boolean onCreateOptionsMenu(Menu menu) {

        }

đơn giản vì gõ thiếu chữ s.
Eclipse cung cấp phương tiện giúp ta ghi đè phương thức của lớp cha với Source -> Override/Implement Method, nhưng cực kỳ nhiều người không biết

 

Nguồn tham khảo: http://mobilesprogramming.wordpress.com

 
1 Comment

Posted by on 13/04/2011 in Android Developmennt

 

Thẻ: , ,

 
Follow

Get every new post delivered to your Inbox.