Android: Firebase Database & Storage

 

 

From How to Add a Navigation Drawer in Android

From Android: Firebase CRUD

 

Create MainFragment.java

public class MainFragment extends Fragment {

    public MainFragment() {
        super();
    }

    public static MainFragment newInstance(){
        MainFragment fragment = new MainFragment();
        Bundle args = new Bundle();
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public void onStart() {
        super.onStart();
    }

    @Override
    public void onStop() {
        super.onStop();
    }

    /*
     * Save Instance State Here
     */
    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        // Save Instance State here
    }

    /*
     * Restore Instance State Here
     */
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        if (savedInstanceState != null) {
            // Restore Instance State here
        }
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main, container, false);
        return rootView;
    }
}

(เพิ่มเติม…)

How to completely clear git repository, without deleting it

f you only have a local git repository

if you want to erase your whole history and start over again:

cd <repo>
rm -rf .git
git init

and start committing again.

If you want to remove both files and history:

cd <repo>
rm -rf *
git init

and start adding files and committing…

if you are linked with a remote repository if you want to start over again, but don’t really mind some old history remaining; there is a quick way:

git pull
git rm -r *
git commit
git push

now your repository is empty again, you’ll only have some old history remaining. if you also want to clean up all your history; that takes a little more work (and note that this will cause trouble for anyone else linked to that same remote repository):

git checkout <first commit hash>
git rm -r *
touch README
git add README
git commit --amend
git push -f

note that I create a empty README file for the first commit, since a commit cannot be empty.

How to create Custom Listview in Android

code : https://github.com/thana19/testCustomListView

1. New Project with Empty Activity

2. New layout “fragment_main”

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:text="Main Fragment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

(เพิ่มเติม…)

How to Add a Navigation Drawer in Android

code : https://github.com/thana19/testNavigationDrawer

1. New Project with Navigation Drawer Activity

2. edit content_main.xml – add FrameLayout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="th.in.thana.testnavigationdrawer.MainActivity"
    tools:showIn="@layout/app_bar_main">

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

(เพิ่มเติม…)

Android : How to convert a image into base64Binary ?

 

imageView.buildDrawingCache();
Bitmap bitmap = profile_image.getDrawingCache();
String encodedImageData = getEncoded64ImageStringFromBitmap(bitmap);

============

public String getEncoded64ImageStringFromBitmap(Bitmap bitmap) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.JPEG, 70, stream);
byte[] byteFormat = stream.toByteArray();
// get the base 64 string
String imgString = Base64.encodeToString(byteFormat, Base64.NO_WRAP);

return imgString;
}

แกะกล่อง ASUS Zenfone 2 Laser 5.5

เนื่องจากปัญหาค่าโทรของแม่กับญาติผู้ใหญ่ที่บ้าน ซึ่งเดือนนึงโทรคุยกันหลักพัน ทั้งๆที่บ้านก็มี Hispeed Internet กันทุกบ้าน และโปรมือถือก็สมัคร  3g/4g ให้แม่ใช้แล้ว จึงคิดว่าจะให้ใช้ line คุยกันน่าจะประหยัดและตอบโจทย์ แต่มือถือของน้าเป็น Android รุ่นเก่ามาก จึงจำเป็นต้องเปลี่ยน โจทย์คือ จอใหญ่ ไม่แพง …. ก็เลยตั้งธงไว้ที่จอ 5.5 เอาแบบมียี่ห้อหน่อย ก็จะมี Samsung J7 แต่แพงไปนิด Lenovo จากประสบการณ์คงไม่เอาแล้ว Huawei Y6II ก็น่าสน แต่สุดท้ายก็มาจบที่ Asus Zenfone 2 Laser 5.5 เพราะได้ Cover กับ MicroSD ด้วย จาก Lazada ตอนกดสั่งราคา 4,790 มี code ส่วนลด 7% เหลือ 4,455 บาท แต่พอสั่งเสร็จไป 1 วันมันลดราคาเหลือ 4,490 -*- แต่ลองกดซื้อดูมันใช้ code ลดราคาไม่ได้ ก็ถือว่าซื้อถูกกว่า 35 บาท ก็ยังดีวะ 5555 (อัพเดทวันที่ 28 ก.พ. ลดเหลือ 3,990 อ๊ากกกซซซซซซ )

มาแกะกล่องกันเถอะ (เพิ่มเติม…)

Android : Animate an Activity

 

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Override how this activity is animated into view
// The new activity is pulled in from the left and the current activity is kept still
// This has to be called before onCreate
overridePendingTransition(R.anim.pull_in_from_left, R.anim.hold);

setContentView(R.layout.activity_sliding_drawer);
}

@Override
protected void onPause() {
// Whenever this activity is paused (i.e. looses focus because another activity is started etc)
// Override how this activity is animated out of view
// The new activity is kept still and this activity is pushed out to the left
overridePendingTransition(R.anim.hold, R.anim.push_out_to_left);
super.onPause();
}

 

res.anim.pull_in_from_left.xml

    android:duration="200"
    android:fromXDelta="-100%"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toXDelta="0%"

credit : http://blog.blundellapps.co.uk/animate-an-activity/