Topic: Android Programming Tutorial (Read 50315 times)

08-05-14 10:39 PM
lnoskhen
Full Member
  • Posts: 1060
  • Thanked: 418
  • Reputation: 8
tama po, argument.

Yung R naman, nandoon lahat ng resources mo, layout (button, textview etc..), drawables, raw etc..

Yung mga generated IDs, yun yung gagamitin para maaccess natin yung mga objects/resources natin, sa Java side. Sabihin na nating identifier nung object.

Example:
Button: id - button1
sa R Class, ang ID niya halimbawa, 0x7f040000

yung onClick naman,
Code: [You are not allowed to view links. Register or Login]
public void onClick(View arg0)
yung arg0, kahit anong variable name pwede.
Para saan to?
Na-click mo yung Button (button1 sa example natin), si arg0 ngayon ang value ay 0x7f040000 (id ni button1). Magagamit mo yan kapag marami kang buttons at kapag inimplement mo yung `OnClickListener`.

Code: [You are not allowed to view links. Register or Login]
....

// onCreate
Button btnOk = (Button) findViewById(R.id.button1);
btnOk.setOnClickListener(this);

....

@Override
public void onClick(View view) {
    // view = id ni button
    switch (view.getId()) {
        case R.id.button1:
            // siya si 0x7f040000
            // do something..
            break;
        default:
            break;
    }
}

Wag lang kayong malilito sa:

Code: [You are not allowed to view links. Register or Login]
public void myMethod(String text) {
    // do something
}

String arg1 = "I'm an argument";
myMethod(arg1);

text - parameter
arg1 - argument
« Last Edit: 08-05-14 11:01 PM by lnoskhen »





08-06-14 07:42 AM
aldrin22
Full Member
  • Posts: 1000
  • Thanked: 376
  • Reputation: 0
Input Output Tutorial

main.xml
Code: [You are not allowed to view links. Register or Login]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<TextView android:text="What is your name?"
android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <EditText android:id="@+id/txt1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="" />


<Button
android:text="Accept"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="Io"/>

<TextView
android:layout_width="match_parent"
        android:layout_height="wrap_content"
android:id="@+id/tv1"
android:text="" />

</LinearLayout>

Mainactivity.java
Code: [You are not allowed to view links. Register or Login]
package com.mycompany.Io;

import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.graphics.*;

public class MainActivity extends Activity
{
    /** Called when the activity is first created. */

private EditText txt1;
private TextView tv1;

    @Override
    public void onCreate(Bundle savedInstanceState)
{
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
   

txt1 = (EditText)findViewById(R.id.txt1);
tv1 = (TextView)findViewById(R.id.tv1);

}




public void Io(View view) {

String x = txt1.getText().toString();

if (x.equals("")) {
tv1.setText("Please enter your name.");}
else
tv1.setText("Your name is : " + x);

}



}



Attributes used and its use.

android:text
Ididisplay nya yung magiging text name ng inyong widget(textview, edittext, button, etc.)

android:id="@+id/tv1"
ID(parang sa school lang) eto magdedefine ng magiging name ng widget kapag nag cocode na .
Example:
Quote
Main.xml

android:id="@+id/txt1"


MainActivity.java
TextName = (EditText)findViewById(R.id.txt1);

TEXTNAME na ang magiging name ni EditText.



android:layout_width="fill_parent"
      android:layout_height="wrap_content"

Defines width and height.

android:onClick="Io"

Eto yung pinaka simpleng paraan (for me) to do something kapag na click si button.

Kapag wala si android:onClick eto magiging code ng button sa mainActivity.java

btnIo.setOnClickListener( new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
               //do something
            }
         });
 


Kapag may android:onClick eto code nya.

public void Io(View view) {
//do something
}


MAINACTIVITY.JAVA

private EditText txt1;
Defines txt1 as EditText

txt1 = (EditText)findViewById(R.id.txt1);
Declaring txt1 as txt1 (ID of EditText) as mentioned above.

String x = txt1.getText().toString();
Declaring x as the result of EditText named as txt1
Quote
txt1.getText() = eto yung kukuha ng na input sa Edittext.
toString() = make it string.

If Else function.
Quote
if (x.equals("")) {
         tv1.setText("Please enter your name.");}
      else
         tv1.setText("Your name is : " + x);
      


if (x.equals("")) {
         tv1.setText("Please enter your name.");}

Kapag wala kang ini-input na text sa edittext ( "" ) . "" means nothing or empty.


else
         tv1.setText("Your name is : " + x);

else kapag walang tumugma sa if's.


tv1.setText

SETTEXT - I seset nya si android:text ng isang widget. Sa example is tv1.setText() so papalitan nya ang value ng text ng TextView ng ininput natin kay edittext which is declared as x.
« Last Edit: 08-06-14 09:07 AM by aldrin22 »
fairytale

08-06-14 12:43 PM
angelofmercy
Jr. Member II
  • Posts: 227
  • Thanked: 25
  • Reputation: 0
paano sir kung 2 ang xml ko? Lets say, main.xml yong unang bubuksan pagkabukas ng app. Tapos pagkaclick ng button, output.xml ang magbubukas para paglalagyan ko ng output.

Tsaka, paano gumawa
ng 2 linearlayout sa main.xml o sa xml? Kasi ang nangyayari, kapag linear vertical, naka vertical na lahat ng view at input ko. Kung naka center na yong una, center na lahat.

 Ang gusto ko sana, halimbawa,

textview1 (center)
textview2, edittext1
 (left align)
textview3, numberpicker
 (left align)
button (center)

paano ko yan gagawin sir?

Kung pagbabasihan ko yong sample mo ngayon at yong una sir. Parang may kulang sa una. At talaga sigurong pagkatapos ng input ang susunod ay pop up na "unfortunately angelofmercytestuiinputoutput has stopped".

kasi @override tapos function o procedure. (hindi po ba sa python decorator ang tawag dito? At ang decorator ay dapat na may return na function o procedure.) sa unang sample sir, wala ng tinawag na function kaya yan ang pop up sa akin matapos akong mag input. Samantalang halos pareho lang ng ginawa mo yong ginawa ko.
« Last Edit: 08-06-14 01:14 PM by angelofmercy »
dahil sa kapal ng salamin ko. Sabi nila nerd daw ako, sabi naman ng iba genius daw ako. Sabi ko naman, mahirap bang makita ang kaibahan ng nerd sa genius? Ng genius sa smart? O ito, kayo ng gumamit ng salamin ko ng makita nyo.

08-06-14 02:03 PM
aldrin22
Full Member
  • Posts: 1000
  • Thanked: 376
  • Reputation: 0
parang log in? 2TV and 2ET?
fairytale

08-06-14 02:30 PM
muchbetter888
Full Member
  • Posts: 1245
  • Thanked: 314
  • Reputation: 0

08-06-14 05:42 PM
angelofmercy
Jr. Member II
  • Posts: 227
  • Thanked: 25
  • Reputation: 0
wait po. Upload ko yong ss.

sa aide, open xml, lalabas yong xml code, sa status bar ng aide may parang pict na maliit don para pumasok ang aide sa ui viewer at don parang visual basic na ilalagay ang mga components ng ui. Ang gusto ko sana sir, yong angel of mercy(id = mainTextView1) nasa pinakaitaas. Yong name (id = mainTextView2) at input box (id = mainEditText1) parehong nasa left, then yong age (id = mainTextView3) at yong numberpicker (id = mainNumberPicker1) nasa left side din. At yong button (id = mainButton1) nasa center. Tapos kapag click ng button, bukas ang new xml (output.xml).

paano ba sir ang paglalagay ng 2 o higit pang linear layout sa isang xml?
« Last Edit: 08-06-14 06:01 PM by angelofmercy »
dahil sa kapal ng salamin ko. Sabi nila nerd daw ako, sabi naman ng iba genius daw ako. Sabi ko naman, mahirap bang makita ang kaibahan ng nerd sa genius? Ng genius sa smart? O ito, kayo ng gumamit ng salamin ko ng makita nyo.

08-06-14 05:59 PM
aldrin22
Full Member
  • Posts: 1000
  • Thanked: 376
  • Reputation: 0
[You are not allowed to view links. Register or Login]
wait po. Upload ko yong ss.

sa aide, open xml, lalabas yong xml code, sa status bar ng aide may parang pict na maliit don para pumasok ang aide sa ui viewer at don parang visual basic na ilalagay ang mga components ng ui. Ang gusto ko sana sir, yong angel of mercy(id = mainTextView1) nasa pinakaitaas. Yong name (id = mainTextView2) at input box (id = mainEditText1) parehong nasa left, then yong age (id = mainTextView3) at yong numberpicker (id = mainNumberPicker1) nasa left side din. At yong button (id = mainButton1) nasa center. Tapos kapag click ng button, bukas ang new xml (output.xml).
wait lang try ko gumawa. .


ganito ba?


yung pangalwa wala button yung una eh.
« Last Edit: 08-06-14 06:34 PM by aldrin22 »
fairytale

08-06-14 08:50 PM
angelofmercy
Jr. Member II
  • Posts: 227
  • Thanked: 25
  • Reputation: 0
tama sir. Parang ganyan. Kaya lang. Gusto ko yong result sa ibang xml.
dahil sa kapal ng salamin ko. Sabi nila nerd daw ako, sabi naman ng iba genius daw ako. Sabi ko naman, mahirap bang makita ang kaibahan ng nerd sa genius? Ng genius sa smart? O ito, kayo ng gumamit ng salamin ko ng makita nyo.

08-06-14 09:57 PM
lnoskhen
Full Member
  • Posts: 1060
  • Thanked: 418
  • Reputation: 8
Gamit ka ng intent para mapasa mo yung value na gusto mo, from First Activity to another activity.
« Last Edit: 08-06-14 09:57 PM by lnoskhen »





08-07-14 10:52 AM
aldrin22
Full Member
  • Posts: 1000
  • Thanked: 376
  • Reputation: 0
[You are not allowed to view links. Register or Login]
Gamit ka ng intent para mapasa mo yung value na gusto mo, from First Activity to another activity.

[You are not allowed to view links. Register or Login]
tama sir. Parang ganyan. Kaya lang. Gusto ko yong result sa ibang xml.

Ginawa ko nalang login sample para lahat makinabang hehe. eto code
« Last Edit: 08-07-14 10:58 AM by aldrin22 »
fairytale

08-08-14 03:19 AM
phoenix_skull
Full Member
  • Posts: 1434
  • Thanked: 73
  • Reputation: 1
pajoin po ako dito sir gusto ko po kase matuto ng android programming. may gusto akong apps na edevelop kaya lang kahit anino ng program di ko nakita sa android  ;D super beginner ako hehe install ko muna necessary files.

08-12-14 06:48 PM
angelofmercy
Jr. Member II
  • Posts: 227
  • Thanked: 25
  • Reputation: 0
Sir halimbawa sa main xml may 2 button ako. Button1 onclick papunta sa 2nd xml at yong button2 onclick exit. Sa button1 sir, kailangan pa ba ng intent kahit na walang input data na ipapasa sa 2nd xml? At yong exit button bakit ayaw mag exit sa system.exit(0)? Paano po ba ang tamang syntax ng exit app?
dahil sa kapal ng salamin ko. Sabi nila nerd daw ako, sabi naman ng iba genius daw ako. Sabi ko naman, mahirap bang makita ang kaibahan ng nerd sa genius? Ng genius sa smart? O ito, kayo ng gumamit ng salamin ko ng makita nyo.

08-12-14 09:46 PM
lnoskhen
Full Member
  • Posts: 1060
  • Thanked: 418
  • Reputation: 8
[You are not allowed to view links. Register or Login]
Sir halimbawa sa main xml may 2 button ako. Button1 onclick papunta sa 2nd xml at yong button2 onclick exit. Sa button1 sir, kailangan pa ba ng intent kahit na walang input data na ipapasa sa 2nd xml? At yong exit button bakit ayaw mag exit sa system.exit(0)? Paano po ba ang tamang syntax ng exit app?
Pwede po:
Code: [You are not allowed to view links. Register or Login]
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);

Para sa pag-exit ng app:
Code: [You are not allowed to view links. Register or Login]
finish();





08-13-14 05:01 PM
angelofmercy
Jr. Member II
  • Posts: 227
  • Thanked: 25
  • Reputation: 0
Bakit ganon? Ayaw mag open ng 2nd class. Pero yong exit, ok na. "unfortunately test1 has stopped".
dahil sa kapal ng salamin ko. Sabi nila nerd daw ako, sabi naman ng iba genius daw ako. Sabi ko naman, mahirap bang makita ang kaibahan ng nerd sa genius? Ng genius sa smart? O ito, kayo ng gumamit ng salamin ko ng makita nyo.

08-13-14 05:30 PM
lnoskhen
Full Member
  • Posts: 1060
  • Thanked: 418
  • Reputation: 8
[You are not allowed to view links. Register or Login]
Bakit ganon? Ayaw mag open ng 2nd class. Pero yong exit, ok na. "unfortunately test1 has stopped".
Na-declare mo na po ba yung second class mo sa AndroidManifest?





08-13-14 05:54 PM
angelofmercy
Jr. Member II
  • Posts: 227
  • Thanked: 25
  • Reputation: 0
[You are not allowed to view links. Register or Login]
Na-declare mo na po ba yung second class mo sa AndroidManifest?

hindi ba automatic na madedeclare yon sir? Try ko mamaya sir. Salamat.

ok na sir. Pumasok na sa next class. Kaso yong exit button naman ang hindi na nagpafunction once na pumasok sa next class then bumalik sa main class. :) anyway thanks uli sir. Makakapagsimula na ko. Na stock ako doon.  kaya pala dito [You are not allowed to view links. Register or Login] pinapakita pa rin yon androidmanifest.xml pero di ko pinapansin. Natuon ang atensyon ko sa 2 class at 2 xml ko. Kasama pa pala yon.
« Last Edit: 08-13-14 06:18 PM by angelofmercy »
dahil sa kapal ng salamin ko. Sabi nila nerd daw ako, sabi naman ng iba genius daw ako. Sabi ko naman, mahirap bang makita ang kaibahan ng nerd sa genius? Ng genius sa smart? O ito, kayo ng gumamit ng salamin ko ng makita nyo.

08-14-14 04:34 PM
angelofmercy
Jr. Member II
  • Posts: 227
  • Thanked: 25
  • Reputation: 0
Mga sir, may bayad ba ang pag unlocked ng aide? Ayaw ng magsave. Kailangan kong iunlock para makapagsave ng malaking project. :(
dahil sa kapal ng salamin ko. Sabi nila nerd daw ako, sabi naman ng iba genius daw ako. Sabi ko naman, mahirap bang makita ang kaibahan ng nerd sa genius? Ng genius sa smart? O ito, kayo ng gumamit ng salamin ko ng makita nyo.

08-15-14 01:40 PM
angelofmercy
Jr. Member II
  • Posts: 227
  • Thanked: 25
  • Reputation: 0
import androidhelper

droid = androidhelper.Android()

my_list = []
x = 0
sum = 0

input = droid.dialogGetInput("Enter 4 digit number", "").result
droid.dialogDismiss()

while x != len(input):
    my_list.append(int(input [ x ] ))
    x +=1

for i in my_list:
    sum = sum +i

print(str(sum))

# input = 1234
# my_list = [1, 2, 3, 4]
# sum = 10


paano po ba ito sa java mga sir? Pagkuha ng length ng string, pag append sa array.
« Last Edit: 08-15-14 01:43 PM by angelofmercy »
dahil sa kapal ng salamin ko. Sabi nila nerd daw ako, sabi naman ng iba genius daw ako. Sabi ko naman, mahirap bang makita ang kaibahan ng nerd sa genius? Ng genius sa smart? O ito, kayo ng gumamit ng salamin ko ng makita nyo.

08-15-14 10:29 PM
lnoskhen
Full Member
  • Posts: 1060
  • Thanked: 418
  • Reputation: 8

Code: [You are not allowed to view links. Register or Login]
new AlertDialog.Builder(this)
    .setTitle("Sum Digits")
    .setMessage("Enter 4 digits:")
    .setView(input)
    .setPositiveButton("Sum", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            String value = input.getText().toString();
            String[] numbers = value.split("");
            int sum = 0;
           
            for (String number : numbers) {
                sum += (number.equals("") ? 0
                             : Integer.parseInt(number));
            }

            Toast.makeText(getBaseContext(), String.valueOf(sum), Toast.LENGTH_LONG).show();
        }
    }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                // Do nothing...
            }
    }).show();

Pagkuha ng length ng isang string:
Code: [You are not allowed to view links. Register or Login]
"sample".length();

Sa pag-append ng numbers sa List:

Code: [You are not allowed to view links. Register or Login]
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(1);
numbers.add(2);
numbers.add(3);

System.out.println(numbers);

// Output:
// [1, 2, 3]
« Last Edit: 08-16-14 08:40 AM by lnoskhen »





08-16-14 09:07 AM
angelofmercy
Jr. Member II
  • Posts: 227
  • Thanked: 25
  • Reputation: 0
[You are not allowed to view links. Register or Login]

Code: [You are not allowed to view links. Register or Login]
new AlertDialog.Builder(this)
    .setTitle("Sum Digits")
    .setMessage("Enter 4 digits:")
    .setView(input)
    .setPositiveButton("Sum", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            String value = input.getText().toString();
            String[] numbers = value.split("");
            int sum = 0;
           
            for (String number : numbers) {
                sum += (number.equals("") ? 0
                             : Integer.parseInt(number));
            }

            Toast.makeText(getBaseContext(), String.valueOf(sum), Toast.LENGTH_LONG).show();
        }
    }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                // Do nothing...
            }
    }).show();

Pagkuha ng length ng isang string:
Code: [You are not allowed to view links. Register or Login]
"sample".length();

Sa pag-append ng numbers sa List:

Code: [You are not allowed to view links. Register or Login]
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(1);
numbers.add(2);
numbers.add(3);

System.out.println(numbers);

// Output:
// [1, 2, 3]

salamat sir.

mga sir may android app po ba na kayang magresized ng image? At bakit po sir ng ipack ko yong ginawa ko (.apk na) yong icon (.png) sa loob ng res. Bumalik sa logo ng android gayong pinalitan ko ang mga icon sa loob ng logo ko at nirename sa dating name ng icon sa loob saka ko nirun para gumawa ng apk.

ginamitan ko ng xplore, nirename ko sa .zip yong napack ko. Then, pinalitan ko uli ng logo ko yong mga icon. Then rename uli sa .apk. Ayaw namang mainstall.

isa pa, nasira yong samsung s3 ko. Naupuan ng kapatid ko dahil naiwanan ko sa sofa namin, nabasag yong lcd kaya gumagamit ako ngayon ng tablet (rooted) sa pagprogram sa aide at cp (samsung gravity smart, hindi pa naroot at android 2.2 froyo). Kailangan bang rooted para gumana ang ginawa sa aide gayong napansin ko ng nagpapack palang, may kasama ng certificate ang pinapack ng aide. O sadya lang na mababa ang android ver ng cp ko kaya ayaw mainstall?
« Last Edit: 08-19-14 12:28 PM by angelofmercy »
dahil sa kapal ng salamin ko. Sabi nila nerd daw ako, sabi naman ng iba genius daw ako. Sabi ko naman, mahirap bang makita ang kaibahan ng nerd sa genius? Ng genius sa smart? O ito, kayo ng gumamit ng salamin ko ng makita nyo.