\
歡迎訂閱杜仲教學頻道: https://www.youtube.com/channel/UCElwt6s8Ea_V-gnu9sZZT5g?sub_confirmation=1 杜仲教學部落格: https://derekcctu.blogspot.com/
2018年12月17日 星期一
[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應用程式與機動程式屬性設定
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;
}
}
}
訂閱:
文章 (Atom)
Ether.fi Cash Card 一張所有人必備的加密貨幣信用卡 [Ether.fi Cash Card] : https://www.ether.fi/app/cash/sign-up?ref_code=d27f8523 ------國際交易所------ [Bitg...
-
22.Hamster Kombat Daily Combo倉鼠戰鬥_DailyCombo0620 ------國際交易所------ [Bitget 交易所]: https://partner.bitget.com/bg/DCA888 邀請碼:DCA888 [Bybit交...
-
[CATS coin每日任務(Ton區塊鏈游戲伏擊百倍幣)] https://t.me/catsgang_bot/join?startapp=FXvTt0OIdo7NJ4jxDutEV ------國際交易所------ [Bitget 交易所]: https://partn...