Tuesday, August 29, 2017

[Android applocation] Wallpaper





- Download many wallpaper full HD:
- include :
 + Sony
 + Samsung
 + iPhone
 + HTC
 + etc...
get notification when have new wallpaper
Enjoy this application

Download app from Google Play

Sunday, August 20, 2017

Android build apk file with command line




Google Play

build apk
- gradlew assembleDebug
build apk when running device
    for debug
    - gradlew installDebug
    for release
    - gradlew installRelease


buildTypes {
        release {
            minifyEnabled false
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            buildConfigField "boolean", "ENABLE_DEBUG", "false"
        }
        debug {
            buildConfigField "boolean", "ENABLE_DEBUG", "true"
        }
    }

Friday, August 18, 2017

[Android application] Kết quả xổ số

Kết quả xổ số:
- Các tỉnh miền trung : Bình Định, Phú Yên,.....
- Các tỉnh miền nam: Sóc Trăng, TP HCM,...
- Vietlott:
+ Mega 6/45
+ Max 4D
+ Power 6/55
- Ứng dụng nhẹ, mượt

Download app from Google Play

Tuesday, August 15, 2017

[Android Application]Works Manager


- Simple application to manager works for day
- Notification when set time
- Use for Offline
- Share event
- All in one screen
- Enjoy this application
Download app from Google Play

Tuesday, June 27, 2017

[Android] Retrofit library




compile 'com.google.code.gson:gson:2.6.2'
compile 'com.squareup.retrofit2:retrofit:2.0.2'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'

public class ApiClient {
    public static final String BASE_URL = "your URL";
    private static Retrofit retrofit = null;

    public static Retrofit getClient() {
        if (retrofit == null) {
            retrofit = new Retrofit.Builder()
                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();
        }
        return retrofit;
    }
}

public interface ApiInterface {
    @GET("Retrofit.php")
    Call<List<Message>> getInbox();
}

public class Message {
    public int id;
    public String msg;
    public String url;

    public Message(int id, String msg, String url) {
        this.id = id;
        this.msg = msg;
        this.url = url;
    }
}

public class MainActivity extends AppCompatActivity {
    String TAG = "MainActivity";
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ApiInterface apiService = ApiClient.getClient().create(ApiInterface.class);
        Call<List<Message>> call = apiService.getInbox();
        call.enqueue(new Callback<List<Message>>() {
            @Override
            public void onResponse(Call<List<Message>> call, Response<List<Message>> response) {
                // TODO - avoid looping
                List<Message> messageList = response.body();
                for (Message message : messageList) {
                    Log.d(TAG, new Gson().toJson(message));
                }
            }
            @Override
            public void onFailure(Call<List<Message>> call, Throwable t) {
                Toast.makeText(getApplicationContext(), "Unable to fetch json: " + t.getMessage(), Toast.LENGTH_LONG).show();
            }
        });
    }
}
    }
}

Tuesday, June 20, 2017

Tuesday, June 13, 2017

[Android Game]Shoot Asteroids





- Easy game move player with sensor to shoot Asteroids
- Require: device support GRAVITY SENSOR, ROTATION VECTOR SENSOR
- Enjoy this game

Download app from Google Play

Friday, June 9, 2017

[Android application] Object with Kotlin android




class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main
 var user = User("Kotlin", "Kotlin@yahoo.com"
 var msg: String = "name:" + user.name + "\n" + user.email 
 var tv = findViewById(R.id.tv) as TextView 
 tv.text = msg

    }

    inner class User(var name: String, var email: String)
}

[Android application] Compare code between Kotlin and Java





class MainActivity : AppCompatActivity() {
    // kotlin code 
 var a: Int = 10 
 var b: Int = 5 
 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main
 var btn_hello = findViewById(R.id.btn_hello) as Button 
 var c = a + b 
 var msg: String = "Kotlin" 
 btn_hello.setOnClickListener { 
 view -> 
 Toast.makeText(applicationContext, msg, Toast.LENGTH_SHORT).show() 
        } 
    }
}

[Android] Install Kotlin language for Android Studio


class MainActivity : AppCompatActivity() {
 private var TAG: String = "MainActivity" 
 private var a: Int = 0 
 private var b: Int = 0
 
 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState) 
 a = 10 
 b = 25 
 Log.d(TAG, "result:" + (a + b)) 
 // result:35 
  }
}

Monday, June 5, 2017

[Android Application] Money Manager

- easy manager your money with calendar
- simple add event 
- statistic money pay for day
- statistic money pay for month
- share event
- use for offline
- all in one screen
- enjoy this application
MoneyManager
Download app from Google Play

Tuesday, March 14, 2017

Bottom Sheet




 
build.gragle file 
compile 'com.android.support:appcompat-v7:25.2.0' 
compile 'com.android.support:design:25.2.0'
 
MainActivity
 
public class MainActivity extends AppCompatActivity {
    String TAG = "MainActivity";
    @Override 
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_main); 
 View bottomSheet = findViewById(R.id.design_bottom_sheet); 
 final BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet); 
 // listen view change 
 behavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
            @Override 
 public void onStateChanged(@NonNull View bottomSheet, int newState) {
 switch (newState) {
 case BottomSheetBehavior.STATE_DRAGGING:
 Log.d(TAG, "BottomSheetBehavior.STATE_DRAGGING"); 
 break; 
 case BottomSheetBehavior.STATE_SETTLING:
 Log.d(TAG, "BottomSheetBehavior.STATE_SETTLING"); 
 break; 
 case BottomSheetBehavior.STATE_EXPANDED:
 Log.d(TAG, "BottomSheetBehavior.STATE_EXPANDED"); 
 break; 
 case BottomSheetBehavior.STATE_COLLAPSED:
 Log.d(TAG, "BottomSheetBehavior.STATE_COLLAPSED"); 
 break; 
 case BottomSheetBehavior.STATE_HIDDEN:
 Log.d(TAG, "BottomSheetBehavior.STATE_HIDDEN"); 
 break;                }
            }

            @Override 
 public void onSlide(@NonNull View bottomSheet, float slideOffset) {
                Log.d(TAG, "slideOffset: " + slideOffset); 
                     }
        });
        Button button = (Button) findViewById(R.id.button); 
 button.setOnClickListener(new View.OnClickListener() {
            @Override 
 public void onClick(View view) {
                if (behavior.getState() == BottomSheetBehavior.STATE_COLLAPSED) {
                    behavior.setState(BottomSheetBehavior.STATE_EXPANDED); 
                 } else {
                    behavior.setState(BottomSheetBehavior.STATE_COLLAPSED); 
                 }
                      }
             }); 
          }
}
 
 
 activity_main
 
<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
 xmlns:android="http://schemas.android.com/apk/res/android" 
 xmlns:app="http://schemas.android.com/apk/res-auto" 
 xmlns:tools="http://schemas.android.com/tools" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent">
    <android.support.v4.widget.NestedScrollView 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 app:layout_behavior="@string/appbar_scrolling_view_behavior">
        <RelativeLayout 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 android:paddingBottom="@dimen/activity_vertical_margin" 
 android:paddingLeft="@dimen/activity_horizontal_margin" 
 android:paddingRight="@dimen/activity_horizontal_margin" 
 android:paddingTop="@dimen/activity_vertical_margin">
            <ImageView 
 android:id="@+id/image" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:layout_centerHorizontal="true" 
 android:src="@mipmap/ic_launcher"/>
            <Button 
 android:id="@+id/button" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:layout_below="@+id/image" 
 android:layout_centerHorizontal="true" 
 android:text="Show Bottom Sheet"/> 
 </RelativeLayout> 
 </android.support.v4.widget.NestedScrollView>
    <RelativeLayout 
 android:id="@+id/design_bottom_sheet" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 android:background="@color/colorAccent" 
 android:paddingBottom="@dimen/activity_vertical_margin" 
 android:paddingLeft="@dimen/activity_horizontal_margin" 
 android:paddingRight="@dimen/activity_horizontal_margin" 
 android:paddingTop="@dimen/activity_vertical_margin" 
 app:behavior_hideable="true" 
 app:behavior_peekHeight="50dp" 
 app:elevation="4dp" 
 app:layout_behavior="@string/bottom_sheet_behavior">
        <TextView 
 android:id="@+id/bottomsheet_text" 
 android:layout_width="wrap_content" 
 android:layout_height="match_parent" 
 android:text="Introducing Bottom Sheets" 
 android:textColor="#FFFFFF"/>
    </RelativeLayout>

</android.support.design.widget.CoordinatorLayout>

Sunday, March 12, 2017

[Android Application] Draw Doraemon



Draw Doraemon with sample picture 
Collections of drawing/sketches of anime cartoon
Doraemon Cartoon Characters 
Kids beginner friendly drawing
save and share picture after draw finish
support android >= 6.0 
enjoy this app
Download app from Google Play

Thursday, March 9, 2017

How to see running background services in android 6(marshmallow) and more?



How to see running background services in android 6(marshmallow) and more?

Wednesday, February 8, 2017

[Android App]: Transfer Phone Number


feature:
* if you want change the prefix of all list contacts in your device?
  - Ex:
  - transfer list contacts start with +84 like: +8411111, +8422222, +8433333, etc... to 03 like: 0311111, 0322222, 0333333, etc...
* If you have a new Smartphone, you want delete all contacts in your old device when you sales or give a someone, you can not handmade to  delete every contact?
  - use app to delete all contacts in your device is easy and fast with one touch
* Support for update many Type Contacts: MOBILE, HOME, WORK, etc...
Download app from Google Play

Wednesday, January 18, 2017

[App] Football Information




Download app from Google Play
The fast to update football information

 your club include league:
 - Premier league
- La liga
- Bundesliga
- Serie A
- League One

function:
- Chart
- Schedule
- Result
Enjoy this application

Sunday, January 8, 2017

[App] Round Screen


Draw image with many style at corner your device
It's beautifyfull
Enjoy this application
Download app from Google Play

[Game] Push Square



this is a intellectual game
You have think how to move square to center
Play with me and we are winner


Download app from Google Play