2018年12月28日 星期五

[Android]_ch10.9_掃描多媒體檔案至相簿





[Android]_ch10.9_掃描多媒體檔案至相簿



public void callMediaScan(String paths[]){

MediaScannerConnection.scanFile(MainActivity.this, paths, null, new MediaScannerConnection.OnScanCompletedListener() {

@Override

public void onScanCompleted(String path, Uri uri) {

Log.i("Uri=", "uri="+uri);

Log.i("path=", path);

}

});

}

[Android]_ch10.8_相機錄影整合存檔功能





[Android]_ch10.8_相機錄影整合存檔功能

public void saveVideo(Uri uri){

    if(!isSDCARDExit())

    Toast.makeText(MainActivity.this, "找不到SD CARD!", Toast.LENGTH_SHORT).show();

    File videoDir=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES);

    if(!videoDir.exists())

    videoDir.mkdirs();

    File videoFile=new File(videoDir, "video01.3gp");

    String path=getPath(uri);

    try {

FileInputStream fis=new FileInputStream(path);

FileOutputStream fos=new FileOutputStream(videoFile);

byte data[]=new byte[fis.available()];

int num;

while((num=fis.read(data))!=-1){

fos.write(data, 0, num);

}

fis.close();

fos.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

    Toast.makeText(MainActivity.this, "存檔完畢!", Toast.LENGTH_SHORT).show();

tv.setText("檔案位置---"+videoFile.toString());

String paths[]={videoFile.toString()};

callMediaScan(paths);

    }

   

    public String getPath(Uri uri){

    String colums[]={MediaStore.Images.Media.DATA};

    ContentResolver contentResolver=getContentResolver();

    Cursor cursor=contentResolver.query(uri, colums, null, null, null);

    cursor.moveToFirst();

    int index=cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

    return cursor.getString(index);

    }

[Android]_ch10.7_調用相機錄影功能



[Android]_ch10.7_調用相機錄影功能

package com.gjun.ch26_takephoto;



import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.List;



import android.app.Activity;

import android.content.Context;

import android.content.Intent;

import android.content.pm.PackageManager;

import android.content.pm.ResolveInfo;

import android.graphics.Bitmap;

import android.net.Uri;

import android.os.Bundle;

import android.os.Environment;

import android.provider.MediaStore;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.ImageView;

import android.widget.MediaController;

import android.widget.TextView;

import android.widget.Toast;

import android.widget.VideoView;





public class MainActivity extends Activity {

TextView tv;

ImageView iv;

VideoView vv;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

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

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

        vv=(VideoView)findViewById(R.id.videoView1);

    }





    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }



    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

    switch(item.getItemId()){

    case R.id.item1:

    if(isIntentAvailable(MainActivity.this, MediaStore.ACTION_IMAGE_CAPTURE)){

    Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

    startActivityForResult(intent, 100);

    }else{

    Toast.makeText(MainActivity.this,"找不到內建應用程式" , Toast.LENGTH_SHORT).show();

    }

    break;

    case R.id.item2:

    if(isIntentAvailable(MainActivity.this, MediaStore.ACTION_VIDEO_CAPTURE)){

    Intent intent=new Intent(MediaStore.ACTION_VIDEO_CAPTURE);

    startActivityForResult(intent, 200);

    }else{

    Toast.makeText(MainActivity.this,"找不到內建應用程式" , Toast.LENGTH_SHORT).show();

    }

    case R.id.item3:

    finish();

    break;

    }

     

        return super.onOptionsItemSelected(item);

    }

    public void saveImage(Bitmap bitmap){

    if(!isSDCARDExit())

    Toast.makeText(MainActivity.this, "找不到SD CARD!", Toast.LENGTH_SHORT).show();

    File imageDir=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);

    if(!imageDir.exists())

    imageDir.mkdirs();

    File imageFile=new File(imageDir,"pic01.jpg");

    FileOutputStream fis;

try {

fis = new FileOutputStream(imageFile);

BufferedOutputStream bos=new BufferedOutputStream(fis);

bitmap.compress(Bitmap.CompressFormat.JPEG, 50, bos);

bos.flush();

bos.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

Toast.makeText(MainActivity.this, "存檔完畢!", Toast.LENGTH_SHORT).show();

tv.setText("檔案位置---"+imageFile.toString());

    }

    public boolean isSDCARDExit(){

    String state=Environment.getExternalStorageState();

    if(state.equals(Environment.MEDIA_MOUNTED))

    return true;

    else

    return false;

    }

    public boolean isIntentAvailable(Context context,String action){

    PackageManager pm=context.getPackageManager();

    Intent intent=new Intent(action);

    List<ResolveInfo> list=pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);

    if(list.size()>0)

    return true;

    else

    return false;

    }





@Override

protected void onActivityResult(int requestCode, int resultCode, Intent intent) {

// TODO Auto-generated method stub

super.onActivityResult(requestCode, resultCode, intent);

if(resultCode==RESULT_OK){

switch(requestCode){

case 100:

Bundle bundle=intent.getExtras();

Bitmap bitmap=(Bitmap)bundle.get("data");

iv.setImageBitmap(bitmap);

saveImage(bitmap);

break;

case 200:

Uri uri=intent.getData();

MediaController controller=new MediaController(MainActivity.this);

vv.setMediaController(controller);

vv.setVideoURI(uri);

vv.start();

}

}

}



}


[Android]_ch10.6_相機拍照整合存檔功能



[Android]_ch10.6_相機拍照整合存檔功能



package com.gjun.ch26_takephoto;



import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.List;



import android.app.Activity;

import android.content.Context;

import android.content.Intent;

import android.content.pm.PackageManager;

import android.content.pm.ResolveInfo;

import android.graphics.Bitmap;

import android.os.Bundle;

import android.os.Environment;

import android.provider.MediaStore;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.ImageView;

import android.widget.TextView;

import android.widget.Toast;





public class MainActivity extends Activity {

TextView tv;

ImageView iv;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

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

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

    }





    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }



    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

    switch(item.getItemId()){

    case R.id.item1:

    if(isIntentAvailable(MainActivity.this, MediaStore.ACTION_IMAGE_CAPTURE)){

    Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

    startActivityForResult(intent, 100);

    }else{

    Toast.makeText(MainActivity.this,"找不到內建應用程式" , Toast.LENGTH_SHORT).show();

    }

    break;

    case R.id.item2:

    finish();

    break;

    }

     

        return super.onOptionsItemSelected(item);

    }

    public void saveImage(Bitmap bitmap){

    if(!isSDCARDExit())

    Toast.makeText(MainActivity.this, "找不到SD CARD!", Toast.LENGTH_SHORT).show();

    File imageDir=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);

    if(!imageDir.exists())

    imageDir.mkdirs();

    File imageFile=new File(imageDir,"pic01.jpg");

    FileOutputStream fis;

try {

fis = new FileOutputStream(imageFile);

BufferedOutputStream bos=new BufferedOutputStream(fis);

bitmap.compress(Bitmap.CompressFormat.JPEG, 50, bos);

bos.flush();

bos.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

Toast.makeText(MainActivity.this, "存檔完畢!", Toast.LENGTH_SHORT).show();

tv.setText("檔案位置---"+imageFile.toString());

    }

    public boolean isSDCARDExit(){

    String state=Environment.getExternalStorageState();

    if(state.equals(Environment.MEDIA_MOUNTED))

    return true;

    else

    return false;

    }

    public boolean isIntentAvailable(Context context,String action){

    PackageManager pm=context.getPackageManager();

    Intent intent=new Intent(action);

    List<ResolveInfo> list=pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);

    if(list.size()>0)

    return true;

    else

    return false;

    }





@Override

protected void onActivityResult(int requestCode, int resultCode, Intent intent) {

// TODO Auto-generated method stub

super.onActivityResult(requestCode, resultCode, intent);

if(resultCode==RESULT_OK){

switch(requestCode){

case 100:

Bundle bundle=intent.getExtras();

Bitmap bitmap=(Bitmap)bundle.get("data");

iv.setImageBitmap(bitmap);

saveImage(bitmap);

break;

}

}

}



}


[Android]_ch10.5_調用相機拍照功能





[Android]_ch10.5_調用相機拍照功能



package com.gjun.ch26_takephoto;



import java.util.List;



import android.app.Activity;

import android.content.Context;

import android.content.Intent;

import android.content.pm.PackageManager;

import android.content.pm.ResolveInfo;

import android.graphics.Bitmap;

import android.os.Bundle;

import android.provider.MediaStore;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.ImageView;

import android.widget.TextView;

import android.widget.Toast;





public class MainActivity extends Activity {

TextView tv;

ImageView iv;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

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

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

    }





    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }



    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

    switch(item.getItemId()){

    case R.id.item1:

    if(isIntentAvailable(MainActivity.this, MediaStore.ACTION_IMAGE_CAPTURE)){

    Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

    startActivityForResult(intent, 100);

    }else{

    Toast.makeText(MainActivity.this,"找不到內建應用程式" , Toast.LENGTH_SHORT).show();

    }

    break;

    case R.id.item2:

    finish();

    break;

    }

     

        return super.onOptionsItemSelected(item);

    }

   

    public boolean isIntentAvailable(Context context,String action){

    PackageManager pm=context.getPackageManager();

    Intent intent=new Intent(action);

    List<ResolveInfo> list=pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);

    if(list.size()>0)

    return true;

    else

    return false;

    }





@Override

protected void onActivityResult(int requestCode, int resultCode, Intent intent) {

// TODO Auto-generated method stub

super.onActivityResult(requestCode, resultCode, intent);

if(resultCode==RESULT_OK){

switch(requestCode){

case 100:

Bundle bundle=intent.getExtras();

Bitmap bitmap=(Bitmap)bundle.get("data");

iv.setImageBitmap(bitmap);

break;

}

}

}



}





[Android]_ch2.6_購買課程OnClick事件處理

[Android]_ch2.6_購買課程OnClick事件處理


[Android]_ch2.6_購買課程OnClick事件處理

tv1=(TextView)findViewById(R.id.textView1);

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

       

        btn1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

StringBuilder sb=new StringBuilder("購買清單如下:\n");

int n1=0,n2=0,n3=0;

if(cb1.isChecked()){

n1=Integer.parseInt(et1.getText().toString());

sb.append(cb1.getText()+":"+n1+"元\n");

}

if(cb2.isChecked()){

n2=Integer.parseInt(et2.getText().toString());

sb.append(cb2.getText()+":"+n2+"元\n");

}

if(cb3.isChecked()){

n3=Integer.parseInt(et3.getText().toString());

sb.append(cb3.getText()+":"+n3+"元\n");

}

int sum=n1+n2+n3;

sb.append("原始金額:"+sum+"元\n");

double dSum=0;

if(rb1.isChecked()){

dSum=sum*0.9;

sb.append("折扣:"+rb1.getText()+"\n折扣後金額:"+dSum+"元\n");

}else if(rb2.isChecked()){

dSum=sum*0.8;

sb.append("折扣:"+rb2.getText()+"\n折扣後金額:"+dSum+"元\n");

}else if(rb3.isChecked()){

dSum=sum*0.7;

sb.append("折扣:"+rb3.getText()+"\n折扣後金額:"+dSum+"元\n");

}

tv1.setText(sb);

}

});

[Android]_ch2.5_RadioButton元件事件處理





[Android]_ch2.5_RadioButton元件事件處理



OnClickListener rbOCL=new OnClickListener() {

@Override

public void onClick(View v) {

String msg="折扣數: ";

// if(rb1.isChecked())

// msg=msg+rb1.getText();

// else if(rb2.isChecked())

// msg=msg+rb2.getText();

// else if(rb3.isChecked())

// msg=msg+rb3.getText();

if(((RadioButton)v).isChecked())

msg=msg+((RadioButton)v).getText();

Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();

}

};

rb1.setOnClickListener(rbOCL);

rb2.setOnClickListener(rbOCL);

rb3.setOnClickListener(rbOCL);

2018年12月27日 星期四

107[電子商務]-第2組BeeTalkV.SGoodNight



107[電子商務]-第2組BeeTalkV.SGoodNight

[Java]_A3.WindowBuilder視窗程式設計





[Java]_A3.WindowBuilder視窗程式設計



import java.awt.BorderLayout;

import java.awt.EventQueue;



import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import java.awt.Button;

import java.awt.Label;

import java.awt.TextField;

import java.awt.TextArea;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;





public class A3 extends JFrame {



private JPanel contentPane;



/**

* Launch the application.

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

A3 frame = new A3();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}



/**

* Create the frame.

*/

public A3() {

setTitle("\u5DE8\u5320\u96FB\u8166");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 226, 300);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

contentPane.setLayout(null);



Label lb1 = new Label("\u570B\u6587 : ");

lb1.setBounds(10, 10, 47, 23);

contentPane.add(lb1);



Label lb2 = new Label("\u82F1\u6587 : ");

lb2.setBounds(10, 39, 47, 23);

contentPane.add(lb2);



Label lb3 = new Label("\u6578\u5B78 : ");

lb3.setBounds(10, 69, 47, 23);

contentPane.add(lb3);



final TextField tf1 = new TextField();

tf1.setBounds(63, 10, 54, 23);

contentPane.add(tf1);



final TextField tf2 = new TextField();

tf2.setBounds(63, 39, 54, 23);

contentPane.add(tf2);



final TextField tf3 = new TextField();

tf3.setBounds(63, 69, 54, 23);

contentPane.add(tf3);



final TextArea ta = new TextArea();

ta.setBounds(10, 98, 189, 154);

ta.setText("\u6210\u7E3E\u8A08\u7B97\u7D50\u679C\u5982\u4E0B:");

contentPane.add(ta);



Button btn1 = new Button("\u8A08\u7B97");

btn1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

String s1=tf1.getText().toString();

String s2=tf2.getText().toString();

String s3=tf3.getText().toString();

double n1=Double.parseDouble(s1);

double n2=Double.parseDouble(s2);

double n3=Double.parseDouble(s3);

double sum=n1+n2+n3;

double avg=sum/3;

ta.append("\n國文:"+s1+" 英文:"+s2+" 數學:"+s3+"\n");

ta.append("總分:"+sum+"\n");

ta.append("平均:"+avg+"\n");   

}

});

btn1.setBounds(123, 10, 76, 37);

contentPane.add(btn1);



Button btn2 = new Button("\u6E05\u9664");

btn2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

tf1.setText("");

tf2.setText("");

tf3.setText("");

ta.setText("");

}

});

btn2.setBounds(123, 53, 76, 39);

contentPane.add(btn2);





}

}


2018年12月26日 星期三

[財務管理資訊系統]_107第3組_宏碁與華碩



[財務管理資訊系統]_107第3組_宏碁與華碩

[財務管理資訊系統]_107第6組_國賓與夏都





[財務管理資訊系統]_107第6組_國賓與夏都

[財務管理資訊系統]107第1組_技嘉與微星



[財務管理資訊系統]107第1組_技嘉與微星

[財務管理資訊系統]_107第2組_中華X裕隆





[財務管理資訊系統]_107第2組_中華X裕隆

[Android]_ch2.4_CheckBox事件處理OnCheckChangeListener





[Android]_ch2.4_CheckBox事件處理OnCheckChangeListener



OnCheckedChangeListener OCCL=new OnCheckedChangeListener() {



@Override

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

int id=((CheckBox)buttonView).getId();

switch(id){

case R.id.checkBox1:

if(isChecked)

et1.setText("55000");

else

et1.setText(R.string.p4);

break;

case R.id.checkBox2:

if(isChecked)

et2.setText(R.string.p2);

else

et2.setText(R.string.p4);

break;

case R.id.checkBox3:

if(isChecked)

et3.setText("65000");

else

et3.setText("0");

break;

}

}

};

cb1.setOnCheckedChangeListener(OCCL);

cb2.setOnCheckedChangeListener(OCCL);

cb3.setOnCheckedChangeListener(OCCL);

[Android]_ch2.3_CheckBox事件處理OnClickListener





[Android]_ch2.3_CheckBox事件處理OnClickListener

package com.gjun.ch3_ckeckbox;



import android.app.Activity;

import android.content.res.Resources;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.CheckBox;

import android.widget.Toast;





public class MainActivity extends Activity {

CheckBox cb1,cb2,cb3;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        cb1=(CheckBox)findViewById(R.id.checkBox1);

        cb2=(CheckBox)findViewById(R.id.checkBox2);

        cb3=(CheckBox)findViewById(R.id.checkBox3);

       

        OnClickListener cbOCL=new OnClickListener() {

@Override

public void onClick(View v) {

// boolean state=((CheckBox)v).isChecked();

// StringBuilder sb=new StringBuilder("選擇課程:\n");

// Resources resources=getResources();

// if(state==true){

// sb.append(resources.getString(R.string.s1)+((CheckBox)v).getText().toString());

// }else{

// sb.append(resources.getString(R.string.s2)+((CheckBox)v).getText().toString());

// }

// Toast.makeText(MainActivity.this, sb, Toast.LENGTH_LONG).show();

int id=((CheckBox)v).getId();

StringBuilder sb=new StringBuilder("選擇課程:\n");

Resources resources=getResources();

switch(id){

case R.id.checkBox1:

if(cb1.isChecked()){

sb.append(resources.getString(R.string.s1)+cb1.getText().toString());

}else{

sb.append(resources.getString(R.string.s2)+cb1.getText().toString());

}

break;

case R.id.checkBox2:

if(cb2.isChecked()){

sb.append(resources.getString(R.string.s1)+cb2.getText().toString());

}else{

sb.append(resources.getString(R.string.s2)+cb2.getText().toString());

}

break;

case R.id.checkBox3:

if(cb3.isChecked()){

sb.append(resources.getString(R.string.s1)+cb3.getText().toString());

}else{

sb.append(resources.getString(R.string.s2)+cb3.getText().toString());

}

break;

}

Toast.makeText(MainActivity.this, sb, Toast.LENGTH_LONG).show();

}

};

cb1.setOnClickListener(cbOCL);

cb2.setOnClickListener(cbOCL);

cb3.setOnClickListener(cbOCL);

    }

}


2018年12月25日 星期二

[Android]_ch5.10_手勢資料庫



[Android]_ch5.10_手勢資料庫

package com.example.ch5_gesture;



import java.util.ArrayList;



import android.R.integer;

import android.app.Activity;

import android.gesture.Gesture;

import android.gesture.GestureLibraries;

import android.gesture.GestureLibrary;

import android.gesture.GestureOverlayView;

import android.gesture.GestureOverlayView.OnGesturePerformedListener;

import android.gesture.Prediction;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.TextView;

import android.widget.Toast;





public class MainActivity extends Activity {

TextView tv1;

GestureOverlayView gv;

GestureLibrary gestureLibrary;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        tv1=(TextView)findViewById(R.id.textView1);

        gv=(GestureOverlayView)findViewById(R.id.gestureOverlayView1);

        gestureLibrary=GestureLibraries.fromRawResource(MainActivity.this, R.raw.gestures);

        if(!gestureLibrary.load())

        finish();

        gv.addOnGesturePerformedListener(new OnGesturePerformedListener() {

@Override

public void onGesturePerformed(GestureOverlayView overlay, Gesture usr) {

ArrayList<Prediction> list=gestureLibrary.recognize(usr);

if(list.size()>0){

StringBuilder sb=new StringBuilder("手勢資料庫比對結果如下:\n");

for(int i=0;i<list.size();i++){

String name=list.get(i).name;

double score=list.get(i).score;

sb.append("第"+(i+1)+"個手勢:"+name+" 分數:"+score+"\n");

}

if(list.get(0).score>2.0){

sb.append("電腦判斷手勢符號為:\n");

sb.append("手勢:"+list.get(0).name+" 分數:"+list.get(0).score+"\n");

}else{

sb.append("電腦無法判斷此手勢符號...");

}

tv1.setText(sb);

}else{

Toast.makeText(MainActivity.this, "找不到資料", Toast.LENGTH_SHORT).show();

}

}

});

    }



}


2018年12月24日 星期一

[Android]_ch2.2_EditText事件處理OnKeyListener



[Android]_ch2.2_EditText事件處理OnKeyListener



et3=(EditText)findViewById(R.id.editText3);

         tv4=(TextView)findViewById(R.id.textView4);

        et3.setOnKeyListener(new OnKeyListener(){

@Override

public boolean onKey(View v, int keyCode, KeyEvent event) {

if(event.getAction()==KeyEvent.ACTION_DOWN && keyCode==KeyEvent.KEYCODE_ENTER){

String msg=et3.getText().toString();

tv4.setText(msg);

// Toast toast=new Toast(MainActivity.this);

// toast.setText(msg);

// toast.setDuration(Toast.LENGTH_SHORT);

// toast.show();

Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();

}

return false;

}});

[Android]_ch2.1_EditText元件設計





[Android]_ch2.1_EditText元件設計

  • android:password 
    定義成密碼輸入型式  
  • android:hint 
    提示文字
  • android:maxLength 
    字數長度
  • android:phoneNumber 
    只能輸入電話號碼
  • android:numeric 
    只能輸入數字
  • integer只能輸入正整數
  • signed可以輸入正、負整數
  • decimal可以輸入整數或小數


package com.gjun.ch2_edittext;



import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;





public class MainActivity extends Activity {

EditText et1,et2,et3;

Button btn1,btn2;

TextView tv4;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        et1=(EditText)findViewById(R.id.editText1);

        et2=(EditText)findViewById(R.id.editText2);

        et3=(EditText)findViewById(R.id.editText3);

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

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

        tv4=(TextView)findViewById(R.id.textView4);

       

        OnClickListener OCL=new OnClickListener(){

@Override

public void onClick(View v) {

int id=((Button)v).getId();

switch(id){

case R.id.button1:

String s1=et1.getText().toString();

int n1=Integer.parseInt(s1);

String s2=et2.getText().toString();

double n2=Double.parseDouble(s2);

String s3=et3.getText().toString();

int n3=Integer.parseInt(s3);

double sum=n1+n2+n3;

double avg=(n1+n2+n3)/3;

StringBuilder sb=new StringBuilder("成績計算如下:\n");

sb.append("國文:"+s1+" 英文:"+s2+" 數學:"+s3+"\n");

sb.append("總分:"+sum+"\n");     // int+double+int --> double

sb.append("平均:"+avg+"\n");  // double/int --> double

sb.append((avg>=60)?"恭喜及格\n":"抱歉不及格!\n");

int level=(int)(avg/10);

switch(level){

case 10:

case 9:

sb.append("A級\n");

break;

case 8:

sb.append("B級\n");

break;

case 7:

sb.append("C級\n");

break;

case 6:

sb.append("D級\n");

break;

default:

sb.append("E級\n");

}

tv4.setText(sb);

break;

case R.id.button2:

et1.setText("0");

et2.setText("0");

et3.setText("0");

tv4.setText("");

break;

}

}};

btn1.setOnClickListener(OCL);

btn2.setOnClickListener(OCL);



    }



}


2018年12月23日 星期日

[Java]_ch8.8_大樂透物件導向設計2





[Java]_ch8.8_大樂透物件導向設計2

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.Arrays;



public class Loto {

int A[]=new int[6];

InputStreamReader isr=new InputStreamReader(System.in);

BufferedReader buf=new BufferedReader(isr);

int num;

public Loto(int n) {

num=n;

}

public int userIn() throws IOException {

System.out.print("[Loto遊戲]\n請輸入1.自選、2.隨機: ");

String s=buf.readLine();

int usr=Integer.parseInt(s);

return usr;

}

public void platForm(int usr) throws IOException {

switch(usr) {

case 1:

selfLoto();

break;

case 2:

randomLoto(userInput());

break;

default:

System.out.println("很抱歉~~沒有此遊戲選項!");

}

}

public void selfLoto() throws IOException {

int n=userInput();

for(int i=1;i<=n;i++) {

System.out.println("第"+i+"組樂透號碼輸入:");

for(int j=0;j<A.length;j++) {

System.out.print("請輸入第"+(j+1)+"個號碼: ");

String s=buf.readLine();

A[j]=Integer.parseInt(s);

}

Arrays.sort(A);

for(int k=0;k<A.length;k++) {

System.out.print(A[k]+"\t");

}

System.out.println();

}



}

public int userInput() throws IOException {

System.out.print("請輸入組數: ");

String s=buf.readLine();

int n=Integer.parseInt(s);

return n;

}

public void randomLoto(int n){

for(int i=1;i<=n;i++) {

System.out.print("第"+i+"組:\t");

A[0]=(int)(Math.random()*num+1);

do {

A[1]=(int)(Math.random()*num+1);

}while(A[1]==A[0]);

do {

A[2]=(int)(Math.random()*num+1);

}while(A[2]==A[1] || A[2]==A[0]);

do {

A[3]=(int)(Math.random()*num+1);

}while(A[3]==A[2] || A[3]==A[1] || A[3]==A[0]);

do {

A[4]=(int)(Math.random()*num+1);

}while(A[4]==A[3] || A[4]==A[2] || A[4]==A[1] || A[4]==A[0]);

do {

A[5]=(int)(Math.random()*num+1);

}while(A[5]==A[4] || A[5]==A[3] || A[5]==A[2] || A[5]==A[1] || A[5]==A[0]);



for(int j=0;j<A.length;j++) {

System.out.print(A[j]+"\t");

}

System.out.print("\n排序後:\t");

Arrays.sort(A);

for(int j=0;j<A.length;j++) {

System.out.print(A[j]+"\t");

}

System.out.println();

}

}

}


2018年12月22日 星期六

[Java]_ch8.7_大樂透物件導向設計1





[Java]_ch8.7_大樂透物件導向設計1

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.Arrays;



public class Loto {

int A[]=new int[6];

InputStreamReader isr=new InputStreamReader(System.in);

BufferedReader buf=new BufferedReader(isr);

int num;

public Loto(int n) {

num=n;

}

public int UserInput() throws IOException {

System.out.print("請輸入隨機組數: ");

String s=buf.readLine();

int n=Integer.parseInt(s);

return n;

}

public void randomLoto(int n){

for(int i=1;i<=n;i++) {

System.out.print("第"+i+"組:\t");

A[0]=(int)(Math.random()*num+1);

do {

A[1]=(int)(Math.random()*num+1);

}while(A[1]==A[0]);

do {

A[2]=(int)(Math.random()*num+1);

}while(A[2]==A[1] || A[2]==A[0]);

do {

A[3]=(int)(Math.random()*num+1);

}while(A[3]==A[2] || A[3]==A[1] || A[3]==A[0]);

do {

A[4]=(int)(Math.random()*num+1);

}while(A[4]==A[3] || A[4]==A[2] || A[4]==A[1] || A[4]==A[0]);

do {

A[5]=(int)(Math.random()*num+1);

}while(A[5]==A[4] || A[5]==A[3] || A[5]==A[2] || A[5]==A[1] || A[5]==A[0]);



for(int j=0;j<A.length;j++) {

System.out.print(A[j]+"\t");

}

System.out.print("\n排序後:\t");

Arrays.sort(A);

for(int j=0;j<A.length;j++) {

System.out.print(A[j]+"\t");

}

System.out.println();

}

}

}


[Java]_ch9.1_繼承概念1





[Java]_ch9.1_繼承概念1

2018年12月21日 星期五

[Android]_ch1.5_Button元件共用監聽器





[Android]_ch1.5_Button元件共用監聽器



package com.gjun.ch1_buttonclick;



import android.app.Activity;

import android.content.res.Resources;

import android.graphics.Color;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;





public class Act01 extends Activity {

TextView tv1;

Button btn1,btn2,btn3,btn4;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        tv1=(TextView)findViewById(R.id.textView1);

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

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

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

        btn4=(Button)findViewById(R.id.button4);

       

        OnClickListener OCL=new OnClickListener(){

@Override

public void onClick(View v) {

int id=((Button)v).getId();

String name="";

switch(id){

case R.id.button1:

name=btn1.getText().toString();

tv1.setText(name);

tv1.setBackgroundColor(Color.RED);

tv1.setTextSize(16);

break;

case R.id.button2:

name=btn2.getText().toString();

tv1.setText(name);

tv1.setBackgroundColor(Color.GREEN);

tv1.setTextSize(26);

break;

case R.id.button3:

Resources r=getResources();

name=r.getString(R.string.b3);

tv1.setText(name);

tv1.setBackgroundColor(Color.BLUE);

tv1.setTextSize(36);

break;

case R.id.button4:

tv1.setText("離開");

finish();

break;

}

}};

        btn1.setOnClickListener(OCL);

        btn2.setOnClickListener(OCL);

        btn3.setOnClickListener(OCL);

        btn4.setOnClickListener(OCL);

       

     

       

    }

}

[Android]_ch1.4_Button元件與事件處理





[Android]_ch1.4_Button元件與事件處理

package com.gjun.ch1_buttonclick;



import android.app.Activity;

import android.content.res.Resources;

import android.graphics.Color;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;





public class Act01 extends Activity {

TextView tv1;

Button btn1,btn2,btn3,btn4;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        tv1=(TextView)findViewById(R.id.textView1);

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

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

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

        btn4=(Button)findViewById(R.id.button4);

        btn1.setOnClickListener(new OnClickListener(){

@Override

public void onClick(View v) {

String name=btn1.getText().toString();

tv1.setText(name);

tv1.setBackgroundColor(Color.RED);

tv1.setTextSize(16);

}});

        btn2.setOnClickListener(new OnClickListener(){

@Override

public void onClick(View v) {

String name=btn2.getText().toString();

tv1.setText(name);

tv1.setBackgroundColor(Color.GREEN);

tv1.setTextSize(26);

}});

        btn3.setOnClickListener(new OnClickListener(){

@Override

public void onClick(View v) {

Resources r=getResources();

String name=r.getString(R.string.b3);

tv1.setText(name);

tv1.setBackgroundColor(Color.BLUE);

tv1.setTextSize(36);

}});

        btn4.setOnClickListener(new OnClickListener(){

@Override

public void onClick(View v) {

tv1.setText("離開");

finish();

}});

    }

}


2018年12月19日 星期三

[財務管理資訊系統]_107第10組_奇偶與陞泰





[財務管理資訊系統]_107第10組_奇偶與陞泰


[Android]_ch1.3_Android專案架構





[Android]_ch1.3_Android專案架構

package com.derek.ch0_demo;



import android.app.Activity;

import android.content.res.Resources;

import android.graphics.Color;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;





public class MainActivity extends Activity {

TextView tv1;

Button btn2;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        tv1=(TextView)findViewById(R.id.textView1);

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

     

    }

   

    public void btn1_click(View view){

    Resources resources=getResources();

    String name=resources.getString(R.string.b1);

    tv1.setText(name);

    tv1.setBackgroundColor(Color.RED);

    }

public void btn2_click(View view){

String name=btn2.getText().toString();

    tv1.setText(name);

    tv1.setTextColor(new Color().rgb(255, 111, 88));

    tv1.setTextSize(20.5f);

    tv1.setBackgroundColor(Color.GREEN);

}

public void btn3_click(View view){

tv1.setText("藍色");

    tv1.setBackgroundColor(Color.BLUE);

}

public void btn4_click(View view){

tv1.setText("離開");

    finish();

}

}


[Android]_ch1.2_按鈕元件onClicl屬性設定





[Android]_ch1.2_按鈕元件onClicl屬性設定



package com.derek.ch0_demo;



import android.app.Activity;

import android.graphics.Color;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.TextView;





public class MainActivity extends Activity {

TextView tv1;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        tv1=(TextView)findViewById(R.id.textView1);

     

    }

   

    public void btn1_click(View view){

    tv1.setText("紅色");

    tv1.setBackgroundColor(Color.RED);

    }

public void btn2_click(View view){

    tv1.setText("綠色");

    tv1.setBackgroundColor(Color.GREEN);

}

public void btn3_click(View view){

tv1.setText("藍色");

    tv1.setBackgroundColor(Color.BLUE);

}

public void btn4_click(View view){

tv1.setText("離開");

    finish();

}

}


2018年12月18日 星期二

[Android]_ch5.6_AlertDialog複選方塊元件



[Android]_ch5.6_AlertDialog複選方塊元件

package com.example.ch5_dialog;



import org.w3c.dom.Text;



import android.app.Activity;

import android.app.AlertDialog;

import android.app.Dialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

import android.widget.Toast;





public class MainActivity extends Activity {

Button btn1,btn2;

TextView tv1;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

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

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

        tv1=(TextView)findViewById(R.id.textView1);

        btn1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

showDialog(1);

}

});

        btn2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

showDialog(2);

}

});

    }

@Override

@Deprecated

protected Dialog onCreateDialog(int id, Bundle args) {

switch(id){

case 1:

final String items[]={"Android","Java","CCNA","Linux"};

final boolean checkedItems[]=new boolean[items.length];

return new AlertDialog.Builder(MainActivity.this)

.setTitle("購買課程")

.setCancelable(false)

.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {



@Override

public void onClick(DialogInterface dialog, int which, boolean isChecked) {

Toast.makeText(MainActivity.this, items[which]+(isChecked?"勾選":"取消"), Toast.LENGTH_SHORT).show();

}

})

.setNegativeButton("取消",new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.cancel();

}

})

.setPositiveButton("確定",new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

StringBuilder sb=new StringBuilder("購買課程如下:\n");

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

if(checkedItems[i])

sb.append(items[i]+"\n");

}

tv1.setText(sb);

}

})

.show();

case 2:

return new AlertDialog.Builder(MainActivity.this)

.setTitle("結束程式嗎?")

.setCancelable(false)

.setMessage("您存檔了嗎?確定結束程式?")

.setNegativeButton("取消",new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.cancel();

}

})

.setPositiveButton("確定",new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

finish();

}

})

.show();





}





return super.onCreateDialog(id, args);

}

   



}


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