2012年9月29日 星期六

[ iOS] 按鈕(Button)程式設計

1.開啟Xcode。

2.輸入

Product Name:testButton
Company Identifier: tw.edu.nkut
Class Prefix: DLI
Device Family: iPhone
取消/設定下列選項
取消:Use Storyboards
設定:Use Automatic Reference counting
取消:Include Unit Tests

                                       
3.選擇Next鍵,然後選擇儲存位置,暫時選擇桌面,按下Create鍵,Xcode會自動產生程式碼。



 4.點選DLIViewController.xib檔案,編輯UI。
 5.點選右下方視窗上的立體方塊,來開啟物件函式庫(show the Object libarary)。
 6.從物件函式庫中,拖移Label及Button兩個物件。
7.從最上方的功能表中把Assistant Editor打開,下圖中從左方算過來第三個,在第四個視窗中,點擊有個右箭頭符號的按鈕(show the connector Inspector),選擇Referencing Outlets中,New Referencing Outlets旁的小圓圈,利用拖移到Assistant Editor中,新增一個屬性接口。

8.依前一動作增加Button的屬性接口。

 9.增加按鈕的Action接口。



 10.在DLIViewController.m中,增加兩行程式

@synthesize txtLabel;
[txtLabel setText:@"clicked"];




 11.執行結果





2012年9月24日 星期一

[iOS] iPhone 程式設計 ﹣HelloWorld


1.打開Xcode,選擇Create a new Xcode project 



2. 選寫iOS Application,再選擇Single View Application
3. 選擇下一步(NEXT),並輸入下列參數:
Product Name:
Company Identifier: tw.edu.nkut
Class Prefix: DLI
Device Family: iPhone
取消/設定下列選項
取消:Use Storyboards
設定:Use Automatic Reference counting
取消:Include Unit Tests


4.選擇Next鍵,然後選擇儲存位置,暫時選擇桌面,按下Create鍵,Xcode會自動產生程式碼。
5.點選DLIViewController.xib檔,準備進行人機介面設計。
6.拖移Label元件到View工作區中,並把屬性Text設定成HelloWorld,按下執行鈕,大功告成。
7.執行結果
8.我們來看看系統所產生的程式碼

#import 是指將滙入所使用到的程式,在這裹是指滙入 <UIKit/UIKit.h>,UIKit提供一系列的類別來建立和管理iPhone OS應用程式的介面、事件控制、繪圖模型等。
@class  宣告類別













2012年9月17日 星期一

簡易影像處理(RGB)

1. 佈局設計




2. 程式設計

package com.example.rgbtest;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity{
ImageView img1, img2;
Button b1,b2,b3;
Bitmap bitmap;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        img1 = (ImageView) findViewById(R.id.imageView1);
        img2 = (ImageView) findViewById(R.id.imageView2);
        img1.setDrawingCacheEnabled(true);
        bitmap = img1.getDrawingCache();
        b1=(Button) findViewById(R.id.button1);
        b1.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
       bitmap = img1.getDrawingCache();

img2.setImageBitmap(bitmap);
}
       
        });
        b2=(Button) findViewById(R.id.button2);
        b2.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
       bitmap = img1.getDrawingCache();
       Bitmap tmp = Bitmap.createBitmap(bitmap);
    for(int y=0; y     for(int x=0; x
{
          int c = bitmap.getPixel(x, y);
          int r = Color.red(c);
          int g = Color.green(c);
          int b = Color.blue(c);
          tmp.setPixel(x, y, Color.rgb(g, b, r));
}

img2.setImageBitmap(tmp);
}
       
        });
        b3=(Button) findViewById(R.id.button3);
        b3.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
       bitmap = img1.getDrawingCache();
       Bitmap tmp = Bitmap.createBitmap(bitmap);
for(int y=0; y     for(int x=0; x
{
         int c = bitmap.getPixel(x, y);
         int r = Color.red(c);
         int g = Color.green(c);
         int b = Color.blue(c);
         tmp.setPixel(x, y, Color.rgb(b, r, g));
}

img2.setImageBitmap(tmp);
}
       
        });
     
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

 
}


3.執行結果

按下 RGB->RGB鍵
 按下RGB->GBR鍵
 按下RGB->BRG鍵

2012年9月13日 星期四

如何在Android上繪出折線圖、條狀圖、圓餅圖、...


一般而言,如果要在Android繪出折線圖、條狀圖、圓餅圖、...這些常見的統計圖,在Android APIs中的android.graphics有提供一個Canvas類別來使用。

這個類別好處是Android內建的類別,使用上不會有授權的問題,但缺點是程式撰寫上要多一些程序;例如繪出折線圖要線繪出點然後再繪出點與點的線最後再進行圖表的美化,這些都需要寫出程式碼才能實現折線圖在螢幕上。

不過,今天不講Canvas類的使用,而是介紹一個比較簡單而且很容易就上手的方法--AChartEngine (achartengine.jar)