2018年12月17日 星期一

[AI2]_ch4.1_簡易抽籤範例

\




[AI2]_ch3.2_版面配置與繪圖元件3

[Android]_ch1.1_建立手機專案



[Android]_ch1.1_建立手機專案



  • src原始程式
  • gen/R.java介面設計
  • res/layout/main.xml畫面佈局
  • res/values/strings.xml初始參數設定
  • AndroidManifest.xml應用程式與機動程式屬性設定

[Android]_ch1.1_建立手機專案



[Android]_ch1.1_建立手機專案



  • src原始程式
  • gen/R.java介面設計
  • res/layout/main.xml畫面佈局
  • res/values/strings.xml初始參數設定
  • AndroidManifest.xml應用程式與機動程式屬性設定

[Android]_ch1.0_啟動手機模擬器





[Android]_ch1.0_啟動手機模擬器

2018年12月16日 星期日

[Java]_ch8.6_匿名內部類別





[Java]_ch8.6_匿名內部類別





public class A7 {



public static void main(String[] args) {

// 人類.showNum();

人類 亞當=new 人類();

亞當.showNum();

人類 夏娃=new 人類(111,0);

夏娃.showNum();

人類 張三=new 人類(20,30);

張三.showNum();

人類 李四=new 人類(88,99,66);

李四.showNum();

人類 王五=new 人類(32,22,11,44);

王五.showNum();

亞當.showNum();

// System.out.println("亞當.眼="+亞當.眼+" 耳="+亞當.耳+" 口="+亞當.口+" 鼻="+亞當.鼻);

// System.out.println("夏娃.眼="+夏娃.眼+" 耳="+夏娃.耳+" 口="+夏娃.口+" 鼻="+夏娃.鼻);

亞當.show("亞當");

夏娃.show("夏娃");

// 亞當.眼=4;

// 亞當.耳=-2;

// 亞當.口=1;

// 亞當.鼻=-1;

亞當.set(4, 2, 1, 1, "亞當");;

夏娃.set(8, -6, 4, 2, "夏娃");

亞當.set(100, "亞當");

亞當.set(100,200, "亞當");

亞當.set(100,200,300, "亞當");

亞當.set(100,200,300,400, "亞當");



亞當.compare(王五);

人類 derek=亞當;

derek.compare(亞當);



人類 Jerry=王五.compareR(張三);

王五.compare(Jerry);

人類 H[]=new 人類[10];

for(int i=0;i<H.length;i++) {

H[i]=new 人類(1+i,2-i,3*i,4/(i+1));

}

人類 Human[]=new 人類[H.length];

Human=H[5].compareArray(H);

Human[9].compare(Human[4]);

(new 人類() {

public void setNum(int n) {

num=n;

System.out.println("匿名內部類別補充方法setNum(int n),num="+num);

}

}).setNum(999999999);

}

static class 人類{

private int 眼;

private int 耳;

private int 口;

private int 鼻;

static int num;

public 人類() {

num++;

System.out.println("0.人類建構元()啟動,眼="+眼+" 耳="+耳+" 口="+口+" 鼻="+鼻);

}

private 人類(int m) {

num++;

眼=m;

System.out.println("1.人類建構元()啟動,眼="+眼+" 耳="+耳+" 口="+口+" 鼻="+鼻);

}

public 人類(int m,int n) {

num++;

眼=m;

耳=n;

System.out.println("2.人類建構元()啟動,眼="+眼+" 耳="+耳+" 口="+口+" 鼻="+鼻);

}

public 人類(int m,int n,int o) {

num++;

眼=m;

耳=n;

口=o;

System.out.println("3.人類建構元()啟動,眼="+眼+" 耳="+耳+" 口="+口+" 鼻="+鼻);

}

public 人類(int m,int n,int o,int p) {

num++;

眼=m;

耳=n;

口=o;

鼻=p;

System.out.println("4.人類建構元()啟動,眼="+眼+" 耳="+耳+" 口="+口+" 鼻="+鼻);

}

public void showNum() {

System.out.println("總共生成"+num+"個人類物件");

}

public void compare(人類 human) {

if(this==human)

System.out.println("同一人");

else

System.out.println("不同人");

}

public 人類 compareR(人類 human) {

int m =this.眼+this.耳+this.口+this.鼻;

int n =human.眼+human.耳+human.口+human.鼻;

if(m>n) {

System.out.println("this資料成員較大,眼="+this.眼+" 耳="+this.耳+" 口="+this.口+" 鼻="+this.鼻);

return this;

}else {

System.out.println("human資料成員較大,眼="+human.眼+" 耳="+human.耳+" 口="+human.口+" 鼻="+human.鼻);

return human;

}

}

void 吃() {

System.out.println("人類吃的方法呼叫");

}

void 睡() {

System.out.println("人類睡的方法呼叫");

}

public void show(String name) {

// String 眼="我是區域變數眼睛!";

System.out.println(name+".眼="+眼+" 耳="+耳+" 口="+口+" 鼻="+鼻);

// System.out.println(name+"this.眼="+this.眼+" 耳="+this.耳+" 口="+this.口+" 鼻="+this.鼻);

}

public void set(int m,String name) {

if(m<0 )

System.out.println("很抱歉!數值不可為負數!");

else {

this.眼=m;

}

show("1."+name);

}

public void set(int m,int n,String name) {

if(m<0 || n<0 )

System.out.println("很抱歉!數值不可為負數!");

else {

this.眼=m;

耳=n;

}

show("2."+name);

}

public void set(int m,int n,int o,String name) {

if(m<0 || n<0 || o<0 )

System.out.println("很抱歉!數值不可為負數!");

else {

this.眼=m;

耳=n;

口=o;

}

show("3."+name);

}

public void set(int m,int n,int o,int p,String name) {

if(m<0 || n<0 || o<0 || p<0)

System.out.println("很抱歉!數值不可為負數!");

else {

this.眼=m;

耳=n;

口=o;

鼻=p;

}

show("4."+name);

}



public 人類[] compareArray(人類 H[]) {

for(int i=0;i<H.length;i++) {

H[i].眼+=100;

H[i].耳+=50;

H[i].口+=20;

H[i].鼻+=10;

System.out.println("H["+i+"]物件資料成員,眼="+H[i].眼+" 耳="+H[i].耳+" 口="+H[i].口+" 鼻="+H[i].鼻);

}

return H;

}

}

}


2018年12月15日 星期六

[Java]_ch8.5_方法傳遞類別陣列





[Java]_ch8.5_方法傳遞類別陣列



public 人類[] compareArray(人類 H[]) {

for(int i=0;i<H.length;i++) {

H[i].眼+=100;

H[i].耳+=50;

H[i].口+=20;

H[i].鼻+=10;

System.out.println("H["+i+"]物件資料成員,眼="+H[i].眼+" 耳="+H[i].耳+" 口="+H[i].口+" 鼻="+H[i].鼻);

}

return H;

}



人類 H[]=new 人類[10];

for(int i=0;i<H.length;i++) {

H[i]=new 人類(1+i,2-i,3*i,4/(i+1));

}

人類 Human[]=new 人類[H.length];

Human=H[5].compareArray(H);

Human[9].compare(Human[4]);

[Java]_ch8.4_方法傳遞類別變數



[Java]_ch8.4_方法傳遞類別變數



public void compare(人類 human) {

if(this==human)

System.out.println("同一人");

else

System.out.println("不同人");

}

public 人類 compareR(人類 human) {

int m =this.眼+this.耳+this.口+this.鼻;

int n =human.眼+human.耳+human.口+human.鼻;

if(m>n) {

System.out.println("this資料成員較大,眼="+this.眼+" 耳="+this.耳+" 口="+this.口+" 鼻="+this.鼻);

return this;

}else {

System.out.println("human資料成員較大,眼="+human.眼+" 耳="+human.耳+" 口="+human.口+" 鼻="+human.鼻);

return human;

}

}







亞當.compare(王五);

人類 derek=亞當;

derek.compare(亞當);



人類 Jerry=王五.compareR(張三);

王五.compare(Jerry);

[Java]_ch8.3_類別變數與類別方法



[Java]_ch8.3_類別變數與類別方法



class 人類{

private int 眼;

private int 耳;

private int 口;

private int 鼻;

static int num;

public 人類() {

num++;

System.out.println("0.人類建構元()啟動,眼="+眼+" 耳="+耳+" 口="+口+" 鼻="+鼻);

}

private 人類(int m) {

num++;

眼=m;

System.out.println("1.人類建構元()啟動,眼="+眼+" 耳="+耳+" 口="+口+" 鼻="+鼻);

}

public 人類(int m,int n) {

num++;

眼=m;

耳=n;

System.out.println("2.人類建構元()啟動,眼="+眼+" 耳="+耳+" 口="+口+" 鼻="+鼻);

}

public 人類(int m,int n,int o) {

num++;

眼=m;

耳=n;

口=o;

System.out.println("3.人類建構元()啟動,眼="+眼+" 耳="+耳+" 口="+口+" 鼻="+鼻);

}

public 人類(int m,int n,int o,int p) {

num++;

眼=m;

耳=n;

口=o;

鼻=p;

System.out.println("4.人類建構元()啟動,眼="+眼+" 耳="+耳+" 口="+口+" 鼻="+鼻);

}

public void showNum() {

System.out.println("總共生成"+num+"個人類物件");

}

void 吃() {

System.out.println("人類吃的方法呼叫");

}

void 睡() {

System.out.println("人類睡的方法呼叫");

}

public void show(String name) {

// String 眼="我是區域變數眼睛!";

System.out.println(name+".眼="+眼+" 耳="+耳+" 口="+口+" 鼻="+鼻);

// System.out.println(name+"this.眼="+this.眼+" 耳="+this.耳+" 口="+this.口+" 鼻="+this.鼻);

}

public void set(int m,String name) {

if(m<0 )

System.out.println("很抱歉!數值不可為負數!");

else {

this.眼=m;

}

show("1."+name);

}

public void set(int m,int n,String name) {

if(m<0 || n<0 )

System.out.println("很抱歉!數值不可為負數!");

else {

this.眼=m;

耳=n;

}

show("2."+name);

}

public void set(int m,int n,int o,String name) {

if(m<0 || n<0 || o<0 )

System.out.println("很抱歉!數值不可為負數!");

else {

this.眼=m;

耳=n;

口=o;

}

show("3."+name);

}

public void set(int m,int n,int o,int p,String name) {

if(m<0 || n<0 || o<0 || p<0)

System.out.println("很抱歉!數值不可為負數!");

else {

this.眼=m;

耳=n;

口=o;

鼻=p;

}

show("4."+name);

}

}

public class A7 {



public static void main(String[] args) {

// 人類.showNum();

人類 亞當=new 人類();

亞當.showNum();

人類 夏娃=new 人類(111,0);

夏娃.showNum();

人類 張三=new 人類(20,30);

張三.showNum();

人類 李四=new 人類(88,99,66);

李四.showNum();

人類 王五=new 人類(32,22,11,44);

王五.showNum();

亞當.showNum();

// System.out.println("亞當.眼="+亞當.眼+" 耳="+亞當.耳+" 口="+亞當.口+" 鼻="+亞當.鼻);

// System.out.println("夏娃.眼="+夏娃.眼+" 耳="+夏娃.耳+" 口="+夏娃.口+" 鼻="+夏娃.鼻);

亞當.show("亞當");

夏娃.show("夏娃");

// 亞當.眼=4;

// 亞當.耳=-2;

// 亞當.口=1;

// 亞當.鼻=-1;

亞當.set(4, 2, 1, 1, "亞當");;

夏娃.set(8, -6, 4, 2, "夏娃");

亞當.set(100, "亞當");

亞當.set(100,200, "亞當");

亞當.set(100,200,300, "亞當");

亞當.set(100,200,300,400, "亞當");





}



}


Android ch10 4 整合外儲與網路多媒體的音樂清單



[Android]_ch10.4_整合外儲與網路多媒體的音樂清單

package com.gjun.ch25_musiclistview;



import android.app.Activity;

import android.content.Context;

import android.media.AudioManager;

import android.media.MediaPlayer;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.BaseAdapter;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.ListView;

import android.widget.TextView;

import android.widget.Toast;





public class MainActivity extends Activity {

ListView LV;

MediaPlayer mp;

boolean stoped=true;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        LV=(ListView)findViewById(R.id.listView1);

        LV.setAdapter(new MyAdapter(MainActivity.this));

        LV.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> parent, View view,int position, long id) {

LinearLayout layout=(LinearLayout)((LinearLayout)view).getChildAt(1);

TextView textView=(TextView)layout.getChildAt(0);

Toast.makeText(MainActivity.this,textView.getText().toString(), Toast.LENGTH_SHORT).show();

}

});

    }

    public class MyAdapter extends BaseAdapter{

    int images[]={R.drawable.a1,R.drawable.a2,R.drawable.a3,R.drawable.a4,R.drawable.a5,R.drawable.a6};

    String texts[]={"大悲咒","藥師咒","財神咒","往生咒","我們不一樣","你那麼愛她"};

    int songs[]={R.raw.a1,R.raw.a2,R.raw.a3,R.raw.a4,R.raw.a5};

    String path[]={"http://download.buda.idv.tw/music/WSZ06.mp3"};

LayoutInflater layoutInflater;



    public MyAdapter(Context context){

    layoutInflater=(LayoutInflater)context.getSystemService(LAYOUT_INFLATER_SERVICE);

    }

    public class ViewHolder{

    Button btn1,btn2,btn3;

    ImageView iv;

    TextView tv;

    }

    @Override

public int getCount() {

// TODO Auto-generated method stub

return images.length;

}



@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return null;

}



@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return 0;

}



@Override

public View getView(final int position, View convertView, ViewGroup parent) {

ViewHolder viewHolder;

if(convertView==null){

convertView=layoutInflater.inflate(R.layout.item, null);

viewHolder=new ViewHolder();

viewHolder.iv=(ImageView)convertView.findViewById(R.id.imageView1);

viewHolder.tv=(TextView)convertView.findViewById(R.id.textView1);

viewHolder.btn1=(Button)convertView.findViewById(R.id.button1);

viewHolder.btn2=(Button)convertView.findViewById(R.id.button2);

viewHolder.btn3=(Button)convertView.findViewById(R.id.button3);

convertView.setTag(viewHolder);

}else{

viewHolder=(ViewHolder)convertView.getTag();

}

viewHolder.iv.setImageResource(images[position]);

viewHolder.tv.setText(texts[position]);

viewHolder.btn1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

if(mp==null || stoped){

if(position<songs.length){

mp=MediaPlayer.create(MainActivity.this,songs[position]);

}else{

mp=new MediaPlayer();

    mp.reset();

    try {

mp.setDataSource(path[position-5]);

mp.setAudioStreamType(AudioManager.STREAM_MUSIC);

mp.prepare();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}



}

mp.start();

stoped=false;

}

});

viewHolder.btn2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

mp.pause();

}

});

viewHolder.btn3.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

mp.stop();

stoped=true;

}

});

return convertView;

}

   

    }

    @Override

protected void onPause() {

// TODO Auto-generated method stub

super.onPause();

if(mp!=null){

mp.release();

mp=null;

}

}



}


2018年12月14日 星期五

[Android]_ch10.3_音樂清單實作



[Android]_ch10.3_音樂清單實作



package com.gjun.ch25_musiclistview;



import android.app.Activity;

import android.content.Context;

import android.media.MediaPlayer;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.BaseAdapter;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.ListView;

import android.widget.TextView;

import android.widget.Toast;





public class MainActivity extends Activity {

ListView LV;

MediaPlayer mp;

boolean stoped=true;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        LV=(ListView)findViewById(R.id.listView1);

        LV.setAdapter(new MyAdapter(MainActivity.this));

        LV.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> parent, View view,int position, long id) {

LinearLayout layout=(LinearLayout)((LinearLayout)view).getChildAt(1);

TextView textView=(TextView)layout.getChildAt(0);

Toast.makeText(MainActivity.this,textView.getText().toString(), Toast.LENGTH_SHORT).show();

}

});

    }

    public class MyAdapter extends BaseAdapter{

    int images[]={R.drawable.a1,R.drawable.a2,R.drawable.a3,R.drawable.a4,R.drawable.a5};

    String texts[]={"大悲咒","藥師咒","財神咒","往生咒","我們不一樣"};

    int songs[]={R.raw.a1,R.raw.a2,R.raw.a3,R.raw.a4,R.raw.a5};

LayoutInflater layoutInflater;



    public MyAdapter(Context context){

    layoutInflater=(LayoutInflater)context.getSystemService(LAYOUT_INFLATER_SERVICE);

    }

    public class ViewHolder{

    Button btn1,btn2,btn3;

    ImageView iv;

    TextView tv;

    }

    @Override

public int getCount() {

// TODO Auto-generated method stub

return images.length;

}



@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return null;

}



@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return 0;

}



@Override

public View getView(final int position, View convertView, ViewGroup parent) {

ViewHolder viewHolder;

if(convertView==null){

convertView=layoutInflater.inflate(R.layout.item, null);

viewHolder=new ViewHolder();

viewHolder.iv=(ImageView)convertView.findViewById(R.id.imageView1);

viewHolder.tv=(TextView)convertView.findViewById(R.id.textView1);

viewHolder.btn1=(Button)convertView.findViewById(R.id.button1);

viewHolder.btn2=(Button)convertView.findViewById(R.id.button2);

viewHolder.btn3=(Button)convertView.findViewById(R.id.button3);

convertView.setTag(viewHolder);

}else{

viewHolder=(ViewHolder)convertView.getTag();

}

viewHolder.iv.setImageResource(images[position]);

viewHolder.tv.setText(texts[position]);

viewHolder.btn1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

if(mp==null || stoped){

mp=MediaPlayer.create(MainActivity.this,songs[position]);

}

mp.start();

stoped=false;

}

});

viewHolder.btn2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

mp.pause();

}

});

viewHolder.btn3.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

mp.stop();

stoped=true;

}

});

return convertView;

}

   

    }

    @Override

protected void onPause() {

// TODO Auto-generated method stub

super.onPause();

if(mp!=null){

mp.release();

mp=null;

}

}



}


Ether.fi Cash Card 一張所有人必備的加密貨幣信用卡   [Ether.fi Cash Card] : https://www.ether.fi/app/cash/sign-up?ref_code=d27f8523 ------國際交易所------ [Bitg...