Memaparkan catatan dengan label XML. Papar semua catatan
Memaparkan catatan dengan label XML. Papar semua catatan

Khamis, Julai 25, 2013

Glade + Python : LAMPP / XAMPP Control Panel


Assalamualaikum dan salam sejahtera, saya akan tunjukkan bagaimana hendak membuat control panel LAMPP anda sendiri menggunakan Glade dan Python.

Caranya mudah sahaja. Tak melibatkan kemahiran yang tinggi mahupun kompleks. Kod sumber untuk Python telah sedia ada dalam komputer anda. Kita akan binding dengan antaramuka menggunakan Glade.

Dengan wujudnya control panel ini, kerja anda akan menjadi semakin mudah. Maklum dah ada GUI, cuma tinggal perlu klik sahaja.

Saya andaikan anda telah pasang Glade ke dalam komputer anda (Jika belum ada, sila pasang pakej Glade tersebut melalui software manager untuk memudahkan kerja)

Masukkan arahan dibawah (untuk cipta fail baru di Desktop)
sudo nano ~/Desktop/Xampp.desktop

Kemudian masukkan teks dibawah dan simpan fail anda :
[Desktop Entry]
Name=Xampp Control Panel
Comment=Start or Stop XAMPP
Exec=gksudo python /opt/lampp/share/xampp-control-panel/xampp-control-panel.py
Icon=/opt/lampp/htdocs/favicon.ico
Categories=Application;Development;Web
Version=1.0
Type=Application
Terminal=0

Akhir sekali sila CHMOD fail anda tadi :
sudo chmod +x ~/Desktop/Xampp.desktop

Lihat pada lokasi Desktop anda. Satu aplikasi baru akan muncul dengan ikon LAMPP/XAMPP dan telah sedia untuk di gunakan oleh anda. Selamat mencuba ;)

Jumaat, Jun 07, 2013

Android : Koleksi kod aturcara

Sample games
http://www.mediafire.com/download.php?aub8gvcfoykatu
AndroidSQLite
http://www.mediafire.com/?dld4kx3xsrd7x9b
AndroidAlarmSMS
http://www.mediafire.com/?ctdny2srixpasm6
AndroidCompass
http://www.mediafire.com/?4gbr4x4sgm88pea
AndroidSQLite
http://www.mediafire.com/?222tlctk6mlxddu
Android-Button-Example
http://www.mediafire.com/?46jild347yz9r1d
Android-AnalogClock-DigitalClock
http://www.mediafire.com/?qf1qsoc6c8c6p8e
Android-LinearLayout-Example
http://www.mediafire.com/?51rffimi9f7demc
Android-Password-Example
http://www.mediafire.com/?1iitky8010ft6fx
Android-RelativeLayout-Example
http://www.mediafire.com/download/om198g8vsa8t1v8/Android-RelativeLayout-Example.zip
Android-EditText-Example
http://www.mediafire.com/download/4nzoqx6y8q43g28/Android-EditText-Example.zip
Android-ToggleButton-Example
http://www.mediafire.com/download/nbwdst96jk06b6h/Android-ToggleButton-Example.zip
Android-RadioButton-Example
http://www.mediafire.com/download/50tca0z911apd72/Android-RadioButton-Example.zip
Android-Checkbox-Example
http://www.mediafire.com/download/z26nalrr3a3r6br/Android-Checkbox-Example.zip
Android-RatingBar-Example
http://www.mediafire.com/download/8c9vx1j1n4ejlvg/Android-RatingBar-Example.zip
Android-ProgressBar-Example
http://www.mediafire.com/download/nyxb1253aau5ux1/Android-ProgressBar-Example.zip
Android-TimePicker-Example
http://www.mediafire.com/download/zc1abi5yz3hj7n7/Android-TimePicker-Example.zip
Android-DatePicker-Example
http://www.mediafire.com/download/qmw89ep2cp4ffay/Android-DatePicker-Example.zip
Android-Alert-Dialogl-Example
http://www.mediafire.com/download/0gpb3aiqr831v4p/Android-Alert-Dialogl-Example.zip
Android-Spinner-DropDownList-Example
http://www.mediafire.com/download/loaxjuaf6kgodbg/Android-Spinner-DropDownList-Example.zip
Android-Toast-Example
http://www.mediafire.com/download/avrjimk08442l0j/Android-Toast-Example.zip
Android-Custom-Dialog-Example
http://www.mediafire.com/download/xo4pfnjbl0u1tbj/Android-Custom-Dialog-Example.zip
Android-WebView-Example
http://www.mediafire.com/download/dijc12nmmtxpld3/Android-WebView-Example.zip
Android-Prompt-Dialog-Example
http://www.mediafire.com/download/1a819x47r63ih81/Android-Prompt-Dialog-Example.zip
Android-GridView-Example
http://www.mediafire.com/download/gr74dcy6da1vd6z/AndroidGridView_121227a.zip
Android-ListView-Example
http://www.mediafire.com/download/5zze6dp8d4s4n84/Android-ListView-Example.zip
Android-ImageButton-Selector-Example
http://www.mediafire.com/download/6qnnmlpa5pqncqu/Android-ImageButton-Selector-Example.zip
Android-ImageButton-Example
http://www.mediafire.com/download/57iyo23777nhcm5/Android-ImageButton-Example.zip
AndroidAccelerometer
http://www.mediafire.com/download/i3q6a4ftn734v91/AndroidAccelerometer_120222a.zip
Android-ImageView-Example
http://www.mediafire.com/download/m64piiuvk44h1xt/Android-ImageView-Example.zip
AndroidMultiTouch
http://www.mediafire.com/download/m4q5q17odhim54f/AndroidMultiTouch_111230a.zip
AndroidObjectAnimator
http://www.mediafire.com/download/gobhxqfrvdo1902/AndroidObjectAnimator_120215a.zip
AndroidAnimInterpolator
http://www.mediafire.com/download/gobhxqfrvdo1902/AndroidObjectAnimator_120215a.zip
AndroidAnimInterpolator
http://www.mediafire.com/download/e9ibdu97bvf7z9k/AndroidAnimInterpolator_120209a_2.zip
AndroidListMedia
http://www.mediafire.com/download/dghz6xxnwlw9lou/AndroidListMedia_120317a.zip
AndroidShareActionProvider
http://www.mediafire.com/download/jfgukd6kb1uv5a2/AndroidShareActionProvider_120418a.zip
AndroidTime
http://www.mediafire.com/download/5hisaeg8el68get/AndroidTime_120531a.zip
AndroidPlayer
http://www.mediafire.com/download/0ebo6qwm3vf2w2b/AndroidPlayer_120612a.zip
AndroidDetechTouch
http://www.mediafire.com/download/260cxer6acmpzds/AndroidDetechTouch_120503a.zip
AndroidTouchedPixel
http://www.mediafire.com/download/n2qc2ndhs5t8sem/AndroidTouchedPixel_121010a.zip
AndroidColor
http://www.mediafire.com/download/vgube6xah1djz97/AndroidColor_121004a.zip
AndroidGridView
http://www.mediafire.com/download/gr74dcy6da1vd6z/AndroidGridView_121227a.zip
AndroidHorizontalScrollViewGallery
http://www.mediafire.com/download/4sbit6dy67i5ou6/AndroidHorizontalScrollViewGallery_121224a.zip
AndroidExplorer
http://www.mediafire.com/download/0x259978czaarab/AndroidExplorer_20130219a.zip
Flashlight
http://www.mediafire.com/download/s3bvwa6kwbxlp7j/Flashlight.rar

Android : Alarm SMS

Fail : AndroidAlarmSMS.java
package com.exercise.AndroidAlarmSMS;

import java.util.Calendar;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class AndroidAlarmSMS extends Activity {

	String smsNumber, smsText;
	private PendingIntent pendingIntent;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final EditText edittextSmsNumber = (EditText)findViewById(R.id.smsnumber);
        final EditText edittextSmsText = (EditText)findViewById(R.id.smstext);
        
        Button buttonStart = (Button)findViewById(R.id.startalarm);
        Button buttonCancel = (Button)findViewById(R.id.cancelalarm);
        
        buttonStart.setOnClickListener(new Button.OnClickListener(){

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				smsNumber = edittextSmsNumber.getText().toString();
				smsText = edittextSmsText.getText().toString();
				
				Intent myIntent = new Intent(AndroidAlarmSMS.this, MyAlarmService.class);
				
				Bundle bundle = new Bundle();
	            bundle.putCharSequence("extraSmsNumber", smsNumber);
	            bundle.putCharSequence("extraSmsText", smsText);
	            myIntent.putExtras(bundle);
				
				pendingIntent = PendingIntent.getService(AndroidAlarmSMS.this, 0, myIntent, 0);
				
				AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);

	            Calendar calendar = Calendar.getInstance();
	            calendar.setTimeInMillis(System.currentTimeMillis());
	            calendar.add(Calendar.SECOND, 10);
	            alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
	         
	            Toast.makeText(AndroidAlarmSMS.this, 
	            		"Start Alarm with \n" +
	            		"smsNumber = " + smsNumber + "\n" +
	            		"smsText = " + smsText, 
	            		Toast.LENGTH_LONG).show();
				
			}});
        
        buttonCancel.setOnClickListener(new Button.OnClickListener(){

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
				alarmManager.cancel(pendingIntent);
				Toast.makeText(AndroidAlarmSMS.this, "Cancel!", Toast.LENGTH_LONG).show();
				
			}});
    }
    
}

Fail : MyAlarmService.java
package com.exercise.AndroidAlarmSMS;

import android.app.Service;
import android.content.Intent;
import android.os.Bundle;
import android.os.IBinder;
import android.telephony.SmsManager;
import android.widget.Toast;

public class MyAlarmService extends Service {
	
	String smsNumberToSend, smsTextToSend;

	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		
		Toast.makeText(this, "MyAlarmService.onCreate()", Toast.LENGTH_LONG).show();
	}

	@Override
	public IBinder onBind(Intent arg0) {
		// TODO Auto-generated method stub
		Toast.makeText(this, "MyAlarmService.onBind()", Toast.LENGTH_LONG).show();
		return null;
	}
	
	@Override
	public void onDestroy() {
		// TODO Auto-generated method stub
		 super.onDestroy();
		 Toast.makeText(this, "MyAlarmService.onDestroy()", Toast.LENGTH_LONG).show();
	}

	@Override
	public void onStart(Intent intent, int startId) {
		// TODO Auto-generated method stub
		super.onStart(intent, startId);
		
		Bundle bundle = intent.getExtras();
        smsNumberToSend = (String) bundle.getCharSequence("extraSmsNumber");
        smsTextToSend = (String) bundle.getCharSequence("extraSmsText");
		
		Toast.makeText(this, "MyAlarmService.onStart()", Toast.LENGTH_LONG).show();
		Toast.makeText(this, 
        		"MyAlarmService.onStart() with \n" +
        		"smsNumberToSend = " + smsNumberToSend + "\n" +
        		"smsTextToSend = " + smsTextToSend, 
        		Toast.LENGTH_LONG).show();
		
		SmsManager smsManager = SmsManager.getDefault();
		smsManager.sendTextMessage(smsNumberToSend, null, smsTextToSend, null, null);
	}

	@Override
	public boolean onUnbind(Intent intent) {
		// TODO Auto-generated method stub
		Toast.makeText(this, "MyAlarmService.onUnbind()", Toast.LENGTH_LONG).show();
		return super.onUnbind(intent);
	}

}

Fail : AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.exercise.AndroidAlarmSMS"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="4" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".AndroidAlarmSMS"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <service android:name=".MyAlarmService" />
    </application>
    <uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
</manifest>

Fail : main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Enter Phone Number:"
    />
<EditText 
    android:id="@+id/smsnumber"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inputType="phone"
    />
<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Enter Phone SMS Text:"
    />
<EditText 
    android:id="@+id/smstext"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
<Button
    android:id="@+id/startalarm"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Start"
    />
<Button
    android:id="@+id/cancelalarm"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Cancel"
    />
</LinearLayout>

Andoid : SQLite

Fail : AndroidSQLite.java
package com.exercise.AndroidSQLite;

import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class AndroidSQLite extends Activity {
	
	private SQLiteAdapter mySQLiteAdapter;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ListView listContent = (ListView)findViewById(R.id.contentlist);
        
        /*
         * 	Create/Open a SQLite database
         *  and fill with dummy content
         *  and close it
         */
        mySQLiteAdapter = new SQLiteAdapter(this);
        mySQLiteAdapter.openToWrite();
        mySQLiteAdapter.deleteAll();

        mySQLiteAdapter.insert("A for Apply");
        mySQLiteAdapter.insert("B for Boy");
        mySQLiteAdapter.insert("C for Cat");
        mySQLiteAdapter.insert("D for Dog");
        mySQLiteAdapter.insert("E for Egg");
        mySQLiteAdapter.insert("F for Fish");
        mySQLiteAdapter.insert("G for Girl");
        mySQLiteAdapter.insert("H for Hand");
        mySQLiteAdapter.insert("I for Ice-scream");
        mySQLiteAdapter.insert("J for Jet");
        mySQLiteAdapter.insert("K for Kite");
        mySQLiteAdapter.insert("L for Lamp");
        mySQLiteAdapter.insert("M for Man");
        mySQLiteAdapter.insert("N for Nose");
        mySQLiteAdapter.insert("O for Orange");
        mySQLiteAdapter.insert("P for Pen");
        mySQLiteAdapter.insert("Q for Queen");
        mySQLiteAdapter.insert("R for Rain");
        mySQLiteAdapter.insert("S for Sugar");
        mySQLiteAdapter.insert("T for Tree");
        mySQLiteAdapter.insert("U for Umbrella");
        mySQLiteAdapter.insert("V for Van");
        mySQLiteAdapter.insert("W for Water");
        mySQLiteAdapter.insert("X for X'mas");
        mySQLiteAdapter.insert("Y for Yellow");
        mySQLiteAdapter.insert("Z for Zoo");
        
        mySQLiteAdapter.close();

        /*
         * 	Open the same SQLite database
         * 	and read all it's content.
         */
        mySQLiteAdapter = new SQLiteAdapter(this);
        mySQLiteAdapter.openToRead();

        Cursor cursor = mySQLiteAdapter.queueAll();
        startManagingCursor(cursor);
 
        String[] from = new String[]{SQLiteAdapter.KEY_CONTENT};
        int[] to = new int[]{R.id.text};

        SimpleCursorAdapter cursorAdapter =
        	new SimpleCursorAdapter(this, R.layout.row, cursor, from, to);

        listContent.setAdapter(cursorAdapter);
        
        mySQLiteAdapter.close();

        
    }
}

Fail : SQLiteAdapter.java
package com.exercise.AndroidSQLite;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;

public class SQLiteAdapter {

	public static final String MYDATABASE_NAME = "MY_DATABASE";
	public static final String MYDATABASE_TABLE = "MY_TABLE";
	public static final int MYDATABASE_VERSION = 1;
	public static final String KEY_ID = "_id";
	public static final String KEY_CONTENT = "Content";

	//create table MY_DATABASE (ID integer primary key, Content text not null);
	private static final String SCRIPT_CREATE_DATABASE =
		"create table " + MYDATABASE_TABLE + " ("
		+ KEY_ID + " integer primary key autoincrement, "
		+ KEY_CONTENT + " text not null);";
	
	private SQLiteHelper sqLiteHelper;
	private SQLiteDatabase sqLiteDatabase;

	private Context context;
	
	public SQLiteAdapter(Context c){
		context = c;
	}
	
	public SQLiteAdapter openToRead() throws android.database.SQLException {
		sqLiteHelper = new SQLiteHelper(context, MYDATABASE_NAME, null, MYDATABASE_VERSION);
		sqLiteDatabase = sqLiteHelper.getReadableDatabase();
		return this;	
	}
	
	public SQLiteAdapter openToWrite() throws android.database.SQLException {
		sqLiteHelper = new SQLiteHelper(context, MYDATABASE_NAME, null, MYDATABASE_VERSION);
		sqLiteDatabase = sqLiteHelper.getWritableDatabase();
		return this;	
	}
	
	public void close(){
		sqLiteHelper.close();
	}
	
	public long insert(String content){
		
		ContentValues contentValues = new ContentValues();
		contentValues.put(KEY_CONTENT, content);
		return sqLiteDatabase.insert(MYDATABASE_TABLE, null, contentValues);
	}
	
	public int deleteAll(){
		return sqLiteDatabase.delete(MYDATABASE_TABLE, null, null);
	}
	
	public Cursor queueAll(){
		String[] columns = new String[]{KEY_ID, KEY_CONTENT};
		Cursor cursor = sqLiteDatabase.query(MYDATABASE_TABLE, columns, 
				null, null, null, null, null);
		
		return cursor;
	}
	
	public class SQLiteHelper extends SQLiteOpenHelper {

		public SQLiteHelper(Context context, String name,
				CursorFactory factory, int version) {
			super(context, name, factory, version);
		}

		@Override
		public void onCreate(SQLiteDatabase db) {
			// TODO Auto-generated method stub
			db.execSQL(SCRIPT_CREATE_DATABASE);
		}

		@Override
		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
			// TODO Auto-generated method stub

		}

	}
	
}

Fail : row.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/text"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:padding="10dip"/>

Fail : main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<ListView
	android:id="@+id/contentlist"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"/>
</LinearLayout>

Muat-turun fail :
http://www.mediafire.com/?dld4kx3xsrd7x9b