jQuery เบื้องต้น

Home Page https://jquery.com/

ใช้งานฟังก์ชัน ready

เมื่อคลิกที่ tag a แล้วจะแสดง Alert

<!DOCTYPE html>
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
      $(document).ready(function(){
        $("a").click(function(){
          alert("Hello World!");
        });
      });
    </script>
  </head>
  <body>
    <a href="#">Click Me!</a>
  </body>
</html>

เมื่อคลิกที่ tag p แล้วข้อความจะหายไป (tag p หาย)

<!DOCTYPE html>
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
      $(document).ready(function(){
        $("p").click(function(){
          $(this).hide();
        });
      });
    </script>
  </head>
  <body>
    <p>If you click on me, I will disappear.</p>
    <p>Click me away!</p>
    <p>Click me too!</p>
  </body>
</html>

เมื่อคลิกที่ tag p แล้วเปลี่ยนสี background (เรียกใช้ css)

<!DOCTYPE html>
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
      $(document).ready(function(){
        $("p").click(function(){
          $(this).css("background-color", "#ccffcc");
        });
      });
    </script>
  </head>
  <body>
    <p>Change background color</p>
  </body>
</html>

Link

การขอ Permission ด้วยไลบรารี EasyPermissions

ในกรณีที่ขอสิทธิ แล้ว user ไม่ให้สิทธิ เมื่อ user เข้าใช้งานครั้งต่อไป ก็จะขึ้น dialog ขึ้นมาถาม user ใหม่ และถ้า user ไม่ให้สิทธิและไม่ให้ถามอีก ก็จะมี dialog มาแนะนำให้ user ไปหน้า setting ของ app เพื่อปรับเปลี่ยนสิทธิให้ app

Continue reading

การขอ Permission ด้วยไลบรารี SimplePermissions

Permission ในระบบ android แบ่งได้เป็น 2 ชนิดคือ

  • Normal Permission กรณีนี้ไม่จำเป็นต้องขอ Runtime Permission
  • Dangerous Permission จำเป็นต้องขอ Runtime Permission

แต่อย่างไรก็ตาม ต้องขอ Permission ในไฟล์ AndroidManifest.xml ด้วย

Continue reading

การฝัง WebView ในแอพ

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.phaisarn.mywebview">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

MainActivity.java

package com.phaisarn.mywebview;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);

        WebView webView1 = new WebView(this);
        setContentView(webView1);

        WebSettings webSettings = webView1.getSettings();
        webSettings.setJavaScriptEnabled(true);

        webView1.setWebViewClient(new WebViewClient());

        webView1.loadUrl("http://google.com");
    }
}

บรรทัดที่ 23 กำหนดให้แสดงเว็บเพจในแอพ

Link

การขอหลาย Permission

การขอ Permission หลายๆอย่าง โดยทำการตรวจสอบ ว่า permission ไหนที่ยังไม่มีก็ทำการขอ โดยตัวอย่างเป็นการขอสิทธิเข้าถึงที่เก็บข้อมูล และขอสิทธิเข้าถึงตำแหน่ง

Continue reading

Android/Java การสร้าง RecyclerView

ใช้ RecyclerView แสดงรายการแบบ list ทำให้สามารถแสดงรายการจำนวนมากๆได้

  1. ใช้งาน RecyclerView
  2. ปรับแต่งเส้นคั่นด้วยไลบรารี่ RecyclerView-FlexibleDivider
  3. วาดตัวอักษรด้วยไลบรารี่ TextDrawable

ไฟล์ที่เกี่ยวข้อง

  • build.gradle (Module: app)
  • activity_main.xml
  • MainActivity.java
  • values/colors.xml
  • drawable/item_state.xml
  • layout/custom_layout.xml
  • CustomItem.java
  • CustomHolder.java
  • CustomAdapter.java
Continue reading