Saturday, April 14, 2012
Stdioe Starts Tweeting
We are happy to announce that we start to tweet at twitter.
Follow @stdioe for our updates, new articles and other news.
For the stdioe team, async:false.
twitter.com/stdioe
Wednesday, March 28, 2012
Using PHP-GTK to Serve Desktop Applications: Creating a Simple Interface
PHP-GTK is a library for PHP that provides an object-oriented interface to GTK+ classes and functions. Actually this is a little bit hard, so that is slow to develop itself. PHP-GTK uses object-oriented programming on it.
What is PHP-GTK?
GTK is a library to develop PHP and created by Andrei Ziminevski, you want to see him? There are some varieties about that, Scintilla, GtkHTML, etc.
According to some of us, Java, C++ or C# is better to use than PHP-GTK. But If the coder who knows how to code on PHP use it, PHP-GTK should be very simple to code. That's why is OOP kind of PHP 5.
Installing PHP-GTK for Windows
Had you set any plugin up before, you shall say that, installing PHP-GTK plugin is so hard, but actually is not'cuz you have to know something about that. First go this site: gtk.php.net or here and download gtk library. After that open the .rar or .zip file you've just downloaded.
When you open this archive, just copy all folders to C:/
After this, open the winnt folder and copy the php.ini file, paste to php4 folder. And finish! You have finally finished the installing right now!
This one is for windows installation. If you want to install this package other system (Linux, MacOS something else), you can visit this official page.
The First GTK Project!
As we know, when the first project created, just done "hello world!". What we're gonna do is like that :) For this we need to php code and GTK library. that's it!
helloworld! MyFirstProject.php file
Well, we have installed PHP-GTK library on C:/ and created the first project about it. As result, we can say, PHP language is not just for the web, can use it as desktop.
See you guys next article!
What is PHP-GTK?
GTK is a library to develop PHP and created by Andrei Ziminevski, you want to see him? There are some varieties about that, Scintilla, GtkHTML, etc.
According to some of us, Java, C++ or C# is better to use than PHP-GTK. But If the coder who knows how to code on PHP use it, PHP-GTK should be very simple to code. That's why is OOP kind of PHP 5.
Installing PHP-GTK for Windows
Had you set any plugin up before, you shall say that, installing PHP-GTK plugin is so hard, but actually is not'cuz you have to know something about that. First go this site: gtk.php.net or here and download gtk library. After that open the .rar or .zip file you've just downloaded.
Download gtk library: gtk.php.net |
After this, open the winnt folder and copy the php.ini file, paste to php4 folder. And finish! You have finally finished the installing right now!
This one is for windows installation. If you want to install this package other system (Linux, MacOS something else), you can visit this official page.
The First GTK Project!
As we know, when the first project created, just done "hello world!". What we're gonna do is like that :) For this we need to php code and GTK library. that's it!
helloworld! MyFirstProject.php file
function clearThis() { Gtk::main_quit(); } $window = new GtkWindow(); $window->connect('destroy','clearThis'); $window->set_border_width('50'); //Alert's width set as 50px. $label = new GtkLabel("Hello World"); //Written Text sets here. $window->add($label); $window->show_all(); Gtk::main();It is time to work the project. First open your windows command screen and follow this directory: c:\php4\php c:\php4\test\MyFirstProject
Output |
See you guys next article!
How to Connect SQLite Database in Android & A Simple App: "Accessing Data With Android Cursors"
Hi Everyone! I'd showed you how to do an application on Android in the last article. This one is going to be about connection SQLite database and access data with cursors.
If you want to use your data or something else, should connect a database. Using SQLite on Android is so simple. There are so much SQLite Editor but I will use Firefox SQLite Manager in this article. For that, first open your Firefox Browser, then download SQLite Manager and as result go this directory: Tools/SQLite Manager. After that, you can range database.
And now, it's time to ready our files we use to. Just follow this directories:
Documents:
1- src/DatabaseActivity.java
2- src/Database.java
3- layout/data.xml
So, we've just created a database, as called MYDATABASE. Table's name is "names". There are two fields on it: "id and name". As you know that is all about SQL. If you know SQL, you can get it easily. id field is an integer piece of table. The other one is a text field.
We'got a database and a table of this. The form we can add data is what we need exactly. For that, gotta compose a Android XML File. This file will have a textfield widget and a button widget, that's it! Let's do data.xml file!
If you want, just look what we got up right now. We created a database, a table of this database and form widgets. I can add a data after make this platform up:) Let's do our platform: DatabaseActivity.java file
That's it! We can add and save our datas, through SQLite Database on Android.
When you write something and click button, data will been saved and can show it on the screen. We'll you guys next article!
If you want to use your data or something else, should connect a database. Using SQLite on Android is so simple. There are so much SQLite Editor but I will use Firefox SQLite Manager in this article. For that, first open your Firefox Browser, then download SQLite Manager and as result go this directory: Tools/SQLite Manager. After that, you can range database.
And now, it's time to ready our files we use to. Just follow this directories:
Documents:
1- src/DatabaseActivity.java
2- src/Database.java
3- layout/data.xml
We need "database.java" file, that's why is gotta a table on database. If you want to add something, I must have a database. Now, code Database.java file.
package database.connection; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class Database extends SQLiteOpenHelper { private static final String MYDATABASE = "names"; private static final int VERSION = 1; public Database(Context connection) { super(connection, MYDATABASE, null, VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE mynames(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT);"); } @Override public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) { db.execSQL("DROP TABLE IF EXIST mynames"); onCreate(db); } }
So, we've just created a database, as called MYDATABASE. Table's name is "names". There are two fields on it: "id and name". As you know that is all about SQL. If you know SQL, you can get it easily. id field is an integer piece of table. The other one is a text field.
We'got a database and a table of this. The form we can add data is what we need exactly. For that, gotta compose a Android XML File. This file will have a textfield widget and a button widget, that's it! Let's do data.xml file!
If you want, just look what we got up right now. We created a database, a table of this database and form widgets. I can add a data after make this platform up:) Let's do our platform: DatabaseActivity.java file
package database.connection; //Those are included by the system import android.app.Activity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class DataBaseActivity extends Activity { private DB names; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.data); //including layout/data.xml file names = new DB(this); final EditText name=(EditText) findViewById(R.id.editText1); Button senddata=(Button) findViewById(R.id.senddata); senddata.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { try{ AddDATA(name.getText().toString()); Cursor cursor = ShowDATA(); ShowDATA(cursor); } finally{ names.close(); } } }); } private void AddDATA(String ResultName){ SQLiteDatabase db = names.getWritableDatabase(); ContentValues datas = new ContentValues(); datas.put("name", ResultName); db.insertOrThrow("ournames", null, datas); } private String[] SELECT = {"id", "name"}; private Cursor ShowDATA(){ SQLiteDatabase db = names.getReadableDatabase(); Cursor cursor = db.query("ournames", SELECT, null, null, null, null, null); startManagingCursor(cursor); return cursor; } private void ShowDATA(Cursor cursor){ StringBuilder builder = new StringBuilder("RESULTS!:\n"); while(cursor.moveToNext()){ String whatthenameis = cursor.getString((cursor.getColumnIndex("name"))); builder.append(whatthenameis).append("\n"); } TextView text = (TextView)findViewById(R.id.textView1); text.setText(builder); } }Generally, coder need to use a database, while saving data. We use SQLite Database on Android'cuz it's simple. Here, SQL is as you know before. "SELECT" command using also. By the way, if you want to check your db file out, just go this directory on Eclipse: file explorer/data/[your project name]/database
Write Something |
When you write something and click button, data will been saved and can show it on the screen. We'll you guys next article!
Saturday, March 10, 2012
Developing a Basic Application on Android: "Welcome Page"
Hi Everyone! Today, I'll show you an Android application which is about welcome pages. As known, before when opened an app, game, web site, DVD movie, etc, a welcome page has shown us by masters of'em. That's why is showing what the brand is. For example, Angry Birds, EA Games, Microsoft Games.
This article is going to be a basic application like "Hello World!". But Before we'll be on welcome page and see the welcome message on it. Let's see how to do it!
Necessary equipment (Install all of them)
When we look at this page up, should see like that:
Create WelcomePageActivity.java file
Maybe, you may not get the line,
"startActivity(new Intent(getApplicationContext(),WelcomePage.class));".
Just remember that we used main.xml content to get on WelcomePage.java page.
And the last one we have to do, update AndroidManifest.xml file! Remember that we create a new Activity, so must define this Activity. For that reason, just add this code to AndroidManifest.xml file:
WelcomePage Project(Right Click)/Run as/Android Project
After 5 seconds this page, we will see main.xml file:
We'll see you guys next article!
This article is going to be a basic application like "Hello World!". But Before we'll be on welcome page and see the welcome message on it. Let's see how to do it!
Necessary equipment (Install all of them)
- Eclipse Editor
- SDK (Software Development Kid)
- Android: Windows, Linux, Mac
First, open the Eclipse editor, then follow this directory: File/New/Project/Android/Android Project
My Project Name : WelcomePage My Android Version : V2.2 My Package Name : welcome.page
You can fix this properties as you wish.
I think, you know how to do an "hello world" app on Android, so I won't explain this. The important thing of the app for me is relationship of Activities and Threads. For those, we're going to do this pages:
src/WelcomePageActivity.class //This is a default file src/WelcomePage.class res/layout/main.xml //This is also a default file res/layout/page2.xml AndroidManifest.xml //This is configuration file
Create a class file:
- directory: src/(Right Click)New/Class
- call: WelcomePage
- Click the "Finish" Button
Code for WelcomePage.java:
The "R" is a library which used for xml files. Every xml file can used on it. We'd just used main.xml file for we need to go home page of our Android app after showing welcome page.
Create a xml file:
package welcome.page; import android.app.Activity; import android.os.Bundle; public class WelcomePage extends Activity { //Created WelcomePage Activity public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //The content to display from main.xml } }
The "R" is a library which used for xml files. Every xml file can used on it. We'd just used main.xml file for we need to go home page of our Android app after showing welcome page.
Create a xml file:
- directory: res/layout/(Right Click)Other/File/Android/Android Xml File
- call: page2
- Click the "Finish" Button
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="This is a welcome page!" /> </LinearLayout>
When we look at this page up, should see like that:
page2.xml file view |
package welcome.page; import android.app.Activity; import android.content.Intent; import android.os.Bundle; public class WelcomePageActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.page2); //The content to display from page2.xml file Thread WelcomeScreen = new Thread() { //Must create a thread, because opening another page is a different event, as sync public void run() { try { //This is try-catch sleep(5000); //Waiting five seconds startActivity(new Intent(getApplicationContext(),WelcomePage.class)); //After waiting, shown the content from WelcomePage.java file } catch (InterruptedException e) { e.printStackTrace(); } finally { finish(); //We finish this thread. } } }; WelcomeScreen.start(); //Starting the thread created. } }
Maybe, you may not get the line,
"startActivity(new Intent(getApplicationContext(),WelcomePage.class));".
Just remember that we used main.xml content to get on WelcomePage.java page.
And the last one we have to do, update AndroidManifest.xml file! Remember that we create a new Activity, so must define this Activity. For that reason, just add this code to AndroidManifest.xml file:
And yes, finished! Let's work this on our Emulator! For this, call:
WelcomePage Project(Right Click)/Run as/Android Project
Welcome page view |
main.xml file on my application |
Labels
android,
java,
welcome page,
xml
Wednesday, February 1, 2012
Making bootable Slax Usb in Ubuntu
It is a problem to make a bootable USB flash disk in Ubuntu as I see in the Slax Forums. Slax can be installed in a Fat formatted USB disk or a CD-Rom. However, for the need for compactness, people generally chooses the first option in order to use an "install once and use anywhere" operating system.
Unfortunately, if you are using an Ubuntu OS and you want to make a Slax Bootable USB, problem arises. Since the USB must be formatted as FAT, you can not change the owners and permissions of files and directories. So that, we can not set a file executable. And simply writing a
usbdisk/boot> bash bootinst.sh
command cannot handle the problem. But the solution is easy.
First, download the Slax tar file for USB disks. Untar it. You have two folders. One of them is 'slax' and the other is 'boot'. Copy the 'boot' folder in your harddisk. Write
harddisk/some folder/boot> chmod -R a+x *
So, the copied boot folder is now fully executable. Suppose that the 'some folder' is '/usr/local/bin'. Goto usb disk. Change directory to 'boot'. Edit the bootinst.sh
usbdisk> vim bootinst.sh
And change the content of the bootinst.sh file as following:
usbdisk/boot> sudo bash bootinst.sh
By now, bootinst.sh runs the needed commands from /usr/local/bin not from /usbdisk/boot.
Happy installs...
Unfortunately, if you are using an Ubuntu OS and you want to make a Slax Bootable USB, problem arises. Since the USB must be formatted as FAT, you can not change the owners and permissions of files and directories. So that, we can not set a file executable. And simply writing a
usbdisk/boot> bash bootinst.sh
command cannot handle the problem. But the solution is easy.
First, download the Slax tar file for USB disks. Untar it. You have two folders. One of them is 'slax' and the other is 'boot'. Copy the 'boot' folder in your harddisk. Write
harddisk/some folder/boot> chmod -R a+x *
So, the copied boot folder is now fully executable. Suppose that the 'some folder' is '/usr/local/bin'. Goto usb disk. Change directory to 'boot'. Edit the bootinst.sh
usbdisk> vim bootinst.sh
And change the content of the bootinst.sh file as following:
#!/bin/bash set -e TARGET="" MBR="" # Find out which partition or disk are we using MYMNT=$(cd -P $(dirname $0) ; pwd) while [ "$MYMNT" != "" -a "$MYMNT" != "." -a "$MYMNT" != "/" ]; do TARGET=$(egrep "[^[:space:]]+[[:space:]]+$MYMNT[[:space:]]+" /proc/mounts | cut -d " " -f 1) if [ "$TARGET" != "" ]; then break; fi MYMNT=$(dirname "$MYMNT") done if [ "$TARGET" = "" ]; then echo "Can't find device to install to." echo "Make sure you run this script from a mounted device." exit 1 fi if [ "$(cat /proc/mounts | grep "^$TARGET" | grep noexec)" ]; then echo "The disk $TARGET is mounted with noexec parameter, trying to remount..." mount -o remount,exec "$TARGET" fi MBR=$(echo "$TARGET" | sed -r "s/[0-9]+\$//g") NUM=${TARGET:${#MBR}} cd "$MYMNT" clear echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" echo " Welcome to Slax boot installer " echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" echo echo "This installer will setup disk $TARGET to boot only Slax." if [ "$MBR" != "$TARGET" ]; then echo echo "Warning! Master boot record (MBR) of $MBR will be overwritten." echo "If you use $MBR to boot any existing operating system, it will not work" echo "anymore. Only Slax will boot from this device. Be careful!" fi echo echo "Press any key to continue, or Ctrl+C to abort..." read junk clear echo "Flushing filesystem buffers, this may take a while..." sync # setup MBR if the device is not in superfloppy format if [ "$MBR" != "$TARGET" ]; then echo "Setting up MBR on $MBR..." /usr/local/bin/syslinux/lilo -S /dev/null -M $MBR ext # this must be here to support -A for extended partitions echo "Activating partition $TARGET..." /usr/local/bin/syslinux/lilo -S /dev/null -A $MBR $NUM echo "Updating MBR on $MBR..." # this must be here because LILO mbr is bad. mbr.bin is from syslinux cat /usr/local/bin/syslinux/mbr.bin > $MBR fi echo "Setting up boot record for $TARGET..." /usr/local/bin/syslinux/syslinux -d boot/syslinux $TARGET echo "Disk $TARGET should be bootable now. Installation finished." echo echo "Read the information above and then press any key to exit..." read junk
Save the file. Exit to shell. Type
usbdisk/boot> sudo bash bootinst.sh
By now, bootinst.sh runs the needed commands from /usr/local/bin not from /usbdisk/boot.
Happy installs...
Subscribe to:
Posts (Atom)