สร้างแอป Android เพื่อทดสอบการใช้งาน Firebase Realtime Database & Firebase Storage

 

บทความนี้จะมีเนื้อหาเกี่ยวกับ Firebase Realtime Database, Firebase Storage, Firebase Crash, Drawer Menu, Fragment, Custom ListView, Camera,Glide และอื่นๆสัพเพเหระ ออกตัวไว้ก่อนคือผมอธิบายไม่ค่อยเก่งนะครับ ดังนั้นเน้นดู Code แล้วจิ้นกันเอาเองเนาะ 5555

เริ่มกันเลยดีกว่า เราจะมาสร้างแอปที่มีรายละเอียดดังต่อไปนี้

  • หน้า ListView เอาไว้แสดง Content ซึ่งมี Header, Content,  TimeStamp, Image
  • สามารถ Create, Read, Update, Delete ได้

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

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>

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

Android : How to Add a Navigation Drawer and Implement Fragment

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 อ๊ากกกซซซซซซ )

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