Archive | March 2012

Ví dụ đơn giản về Regular Ex

Rob Bamforth's Blog

How to check for a valid email address string.

Example Code:

String email = “test@test.com”;
Pattern p = Pattern.compile(“.+@.+\\.[a-z]+”);
Matcher m = p.matcher(email);
boolean matchFound = m.matches();

if(matchFound){
System.out.println(“EMAIL OK”);
}else{
System.out.println(“EMAIL ERROR”);
}

View original post

Tạo activity dạng một form động cho app – Android Code

M Moniruzzaman's Blog

You can implement application styles as you like in android platform. If you want to create a transparent background Activity then follow the steps below.

Transparency of background:

  1. create an activity
  2. set activity’s theme as “@android:style/Theme.Translucent” in AndroidManifest.xml
  3. that’s all

If it is needed to have a UI with semi-transparent background, and to define opacity then use this technique with Theme.Translucent. If you set the color of the UI layout as #29000000, the first hex 2-digit(#29) represents alpha channels of color and set opacity. If value is 00 that means 100% transparent. if value is set FF it will be opaque, it can be any value in 00 to FF.

Opaqueness of background / Opacity:

  1. create an activity
  2. set activity’s theme as “@android:style/Theme.Translucent” in AndroidManifest.xml
  3. declare opaque_back a color with setting alpha value such as #29000000(blackish), in/res/colors.xml
  4. set…

View original post 25 more words

Hàm MD5 cải tiến – Không bỏ qua số 0 – Android Code

public static String md5(String s) {
MessageDigest m = null;
try {m = MessageDigest.getInstance(“MD5”);} catch (Exception e) {}
m.update(s.getBytes(),0,s.length());
String hash = new BigInteger(1, m.digest()).toString(16);
return hash;
}

Hàm MD5 đơn giản – Android Code

public static String md5(String s) {
    try {
        // Create MD5 Hash
        MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
        digest.update(s.getBytes());
        byte messageDigest[] = digest.digest();
        
        // Create Hex String
        StringBuffer hexString = new StringBuffer();
        for (int i=0; i<messageDigest.length; i++)
            hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
        return hexString.toString();
        
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
    return "";
}

Kiểm soát quyền của API – PHP Code

<?php

header(‘Cache-Control: no-cache, must-revalidate’);
header(‘Expires: Mon, 26 Jul 1997 05:00:00 GMT’);
header(‘Content-type: application/json’);
header(‘Access-Control-Allow-Origin: *’);
header(‘Access-Control-Allow-Methods: post, get, options’);
header(‘Access-Control-Allow-Headers: x-requested-with’);

?>

Bài hướng dẫn cài 1 emulator nhanh hơn để thay thế cho android emulator của sdk.
Nên sử dụng để cài trên máy ảo chạy song song với window hoặc linux
Bản x86 không được google cho phép dùng google map api, đây là điểm hạn chế lớn nhất. Nên hiện tại retailsmarter-android đang đóng chức năng dùng map để debug dễ dàng trên androidx86

Trần Phước Hùng Blog

Android đang là hệ điều hành số một trên các thiết bị di động. Là một người yêu công nghệ chắc hẳn bạn cũng muốn dùng thử qua hệ điều hành này. Tuy nhiên sẽ thật lãng phí nếu mua một chiếc điện thoại hay máy tính bảng chạy Android chỉ để vọc vạch mà không có nhu cầu sử dụng thật sự. Một giải pháp đơn giản mà không tốn chi phí cho bạn đó là cài đặt Android chạy trên máy tính thông qua USB.
Đầu tiên bạn hãy chuẩn bị một chiếc USB có dung lượng khoảng 256 MB. Đây có lẽ không phải là vấn đề lớn vì USB hiện nay rất rẻ và có dung lượng khá lớn. Để đảm bảo cho việc chạy Android được trơn tru, tốt nhất là bạn nên tiến hành format USB.
Tiếp theo bạn cần tải bộ cài Android…

View original post 695 more words

Triển khai services trên android
Dự án retailsmarter sau này sẽ cần dùng đến để chạy ngầm và nạp dữ liệu cho widget sản phẩm hoặc top sản phẩm

Trần Phước Hùng Blog

To create a application to run in the background of other current activities, one needs to create a Service. The Service can run indefinitely (unbounded) or can run at the lifespan of the calling activity(bounded).
Please note that a Service has a different lifecycle than activities therefore have different methods. But to begin a service in the application a call to startService() which envokes the service onCreate() method and onStart() beginning running the service.
context.startService() | ->onCreate() – >onStartCommand() [service running]
Calling the applications stopService() method to stop the service.
context.stopService() | ->onDestroy() [service stops]
Something that we didn’t use in this example is bindService() which just calls the services onCreate() method but does not call the onStartCommand(). onBindService() is used to create persistance connection to the service.
context.onBindService() | ->onCreate() [service created]
This Services Demo is simple as it plays a audio file and by listening to click events…

View original post 362 more words