標籤

2015年10月29日 星期四

Button基本練習-以Intent傳送資料BMI計算實作

Button基本應用


button按鈕是一個App中非常重要的一環,主要大部分的功能觸發都用button作為主要觸發,現在就用一個比較常見的範例BMI計算來簡單介紹buttton的製作並簡單介紹一下android的大概架構:

首先先將layout的部分部屬完成

大致上外觀像這樣,一個EditText記錄身高另一個記錄體重搭配上一個觸發計算按鈕

如果要在EditText中顯示類浮水印的字,請點選該物件並於屬性中的hint輸出值(如下)

















這裡在提醒一個好習慣,在介面上要輸出的文字要養成習慣要先在String.xml中定義好
在以連結上物件的方式完成,在往後維護上會容易許多問題也少掉不少(如下)










































做好一個開始的介面以及一個顯示結果的介面
再來layout部屬完要開始寫Button的事件

之後到MAIN Oncreate中新增一個Listener顧名思義就是就要隨時監聽按鈕有沒有被點擊
這部分必須要再app create的階段就建構完成所以寫在oncreate

    final EditText height= (EditText)findViewById(R.id.editText);
    final EditText weight= (EditText)findViewById(R.id.editText2);

        Button calc = (Button) findViewById(R.id.button);
        calc.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                resultIntent = new Intent(view.getContext(), Result.class);指定目標
                resultIntent.putExtra("height", height.getText().toString());
                resultIntent.putExtra("weight", weight.getText().toString());
                startActivity(resultIntent);\\傳到目標layout
            }
        });

一旦觸發點擊後指定將height和weight藉由Intent包裝,這裡用bundle寫也可以只要改成下面這即可
Intent = new Intent(view.getContext(), Result.class);
bundle bundle =new bundle();
bundle.putExtra("height",height.getText().toString());
bundle.putExtra("weight",weight.getText().toString());

intent.putExtras(bundle);

startActivity(resultIntent);
接收:
Bundle bundle = this.getIntent().getExtras();
weight
= bundle.getString("weight"); height = bundle.getString("height");























在Result中接收
   
Intent intent=getIntent();
   String height= intent.getStringExtra("height");
   String weight= intent.getStringExtra("weight");
     if(!(height.isEmpty()) || !(weight.isEmpty())){
            Double heightn= Double.parseDouble(height);
            Double weightn= Double.parseDouble(weight);
            EditText result = (EditText)findViewById(R.id.editText3);
            result.setText(String.valueOf(weightn / (heightn * heightn) * 10000));

      }
























完成品


2015年9月21日 星期一

android 初學--選擇SDK版本&Rendering problems solve

First step

在初學android常會因為一些錯誤奇怪的錯誤讓自己產生在起步就跌跤的挫折感,以下做一些錯誤訊息的Q&A

安裝上請參考google的官方安裝網頁http://developer.android.com/sdk/index.html




















安裝文相信google大神隨便找找都一大堆這裡就不再細說

Q1.我該選如何選擇SDK版本


























SDK的版本不斷的在更新我該如何選擇想必剛開始都會不知道該如何選擇,而且每個SDK版本的檔案容量又不算小又不想全部下載在設計上如果為的是學習用途當然任選即可,但如果是為了讓自己的APP獲得最多的市場能見度當然是選擇最多使用者的SDK那我該如何知道呢??

google 非常貼心的提供了開發者許多貼心的功能這就是其中之一
http://developer.android.com/about/dashboards/index.html



















這裡你可以觀看現在市場上有多少人再使用此版本的SDK。

Q2.安裝完Android Studio後開啟一個新專案連code都還沒寫,就出現以下錯誤訊息




















問題:這大部分的原因都是SDK版本的問題所以找不到對應的配置檔

sol:簡單處理法是更換到你當初選擇建立的SDK版本如果你在SDK Manger沒安裝你選取的版本之後會告訴你有其他錯誤



















不過Q2的錯誤訊息並不是換個SDK這麼簡單,而是程式庫沒有抓到該配置因此點選file>>project structive>>app>>Dependencies分頁>>點選+>>找到遺漏的程式庫appcompat-v7加入





















重新啟動android studio錯誤訊息就消失了