Sei sulla pagina 1di 15

Practical 1.

Write a program for building a simple user interface using a


XML for UI layout
The user interface (UI) for an Android app is built as a hierarchy of layouts and widgets. In
this practical, we are going to create a layout that includes a text box and a button.

Using Android's XML vocabulary, you can quickly design UI layouts and the screen
elements they contain, in the same way you create web pages in HTML — with a series of
nested elements.

Here's an XML layout that uses a horizontal LinearLayout to hold a TextView and a Button.

Code

Activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<EditText
android:id="@+id/edit_message"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send" />

</LinearLayout>

Res/values/Strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">second</string>
<string name="edit_message">Enter a message</string>
<string name="button_send">Send</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>

</resources>
Output:
Practical 2. Write a Program for developing an Android Application using
a linear layout
Android Linear Layout is a view group that aligns all children in either vertically or
horizontally.

Following are the important attributes specific to Linear Layout:

 android:id
This is the ID which uniquely identifies the layout.
 android:gravity
This specifies how an object should position its content, on both the X and Y axes. Possible
values are top, bottom, left, right, center, center_vertical, center_horizontal etc.
 android:orientation
This specifies the direction of arrangement and you will use "horizontal" for a row,
"vertical" for a column. The default is horizontal.
 android:weightSum
Sum up of child weight

Code

Activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<Button
android:id="@+id/btnStartService"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="@string/start_service" />

<Button android:id="@+id/btnPauseService"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="@string/pause_service" />

<Button android:id="@+id/btnStopService"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="@string/stop_service" />
</LinearLayout>
Modify the default content of res/layout/activity_main.xml file to include few buttons in
linear layout

Res/values/Strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">LinearApp</string>
<string name="menu_settings">Settings</string>
<string name="start_service">Start</string>
<string name="pause_service">Pause</string>
<string name="stop_service">Stop</string>

</resources>

Output:
Practical 3. Write a Program for developing an Android Application using
a Relative layout
The Relative Layout is very flexible layout used in android for custom layout designing.
It gives us the flexibility to position our component/view based on the relative or sibling
component’s position. Just because it allows us to position the component anywhere we want
so it is considered as most flexible layout. For the same reason Relative layout is the most
used layout after the Linear Layout in Android.

Code

Activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<Button
android:id="@+id/btnStartService"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="@string/start_service" />

<Button
android:id="@+id/btnPauseService"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginStart="-32dp"
android:layout_marginLeft="-32dp"
android:layout_toEndOf="@+id/btnStartService"
android:layout_toRightOf="@+id/btnStartService"
android:text="@string/pause_service" />

<Button
android:id="@+id/btnStopService"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"

android:layout_alignParentTop="true"
android:text="@string/stop_service" />

</RelativeLayout>

Res/values/Strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">Third</string>
<string name="menu_settings">Settings</string>
<string name="start_service">Start</string>
<string name="pause_service">Pause</string>
<string name="stop_service">Stop</string>
</resources>
Output:
Practical 4. Write a Program to call one activity from another activity.
Code

Activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="First Activity"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="startsecond"
android:text="Call Second Activity"
tools:layout_editor_absoluteX="167dp"
tools:layout_editor_absoluteY="487dp" />

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java:
package com.example.readwrite;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.content.Intent;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void startsecond(View V)
{
startActivity(new Intent( MainActivity.this,SecondActivity.class));
finish();
}
}

Now, to create another activity

Click on New > New project > Activity > Empty Activity > Click on OK.
SecondActivity.java:
package com.example.readwrite;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.content.Intent;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void startsecond(View V)
{
startActivity(new Intent( MainActivity.this,SecondActivity.class));
finish();
}
}

activity_second.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SecondActivity"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
Output:
Practical 5. Write a Program to read and write text from a file
Code

Activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<RelativeLayout
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:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:padding="5dp"
android:text="Android Read and Write Text from/to a File"
android:textStyle="bold"
android:textSize="28sp" />

<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="22dp"
android:minLines="5"
android:layout_margin="5dp">

<requestFocus />
</EditText>

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Write Text into File"
android:onClick="WriteBtn"
android:layout_alignTop="@+id/button2"
android:layout_alignRight="@+id/editText1"
android:layout_alignEnd="@+id/editText1" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Read Text From file"
android:onClick="ReadBtn"
android:layout_centerVertical="true"
android:layout_alignLeft="@+id/editText1"
android:layout_alignStart="@+id/editText1" />

</RelativeLayout>

</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java:
package com.example.practical5;

import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class MainActivity extends Activity {

EditText textmsg;
static final int READ_BLOCK_SIZE = 100;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textmsg = (EditText) findViewById(R.id.editText1);


}

// write text to file


public void WriteBtn(View v) {
// add-write text into file
try {
FileOutputStream fileout = openFileOutput("mytextfile.txt", MODE_PRIVATE);
OutputStreamWriter outputWriter = new OutputStreamWriter(fileout);
outputWriter.write(textmsg.getText().toString());
outputWriter.close();

//display file saved message


Toast.makeText(getBaseContext(), "File saved successfully!",
Toast.LENGTH_SHORT).show();

} catch (Exception e) {
e.printStackTrace();
}
}

// Read text from file


public void ReadBtn(View v) {
//reading text from file
try {
FileInputStream fileIn = openFileInput("mytextfile.txt");
InputStreamReader InputRead = new InputStreamReader(fileIn);

char[] inputBuffer = new char[READ_BLOCK_SIZE];


String s = "";
int charRead;

while ((charRead = InputRead.read(inputBuffer)) > 0) {


// char to string conversion
String readstring = String.copyValueOf(inputBuffer, 0, charRead);
s += readstring;
}
InputRead.close();
textmsg.setText(s);

}
}
}
Output:

Here, you can write any text for example “Hello!” then click on button “Write Text into
File”, then that text will be saved into the file and it will display a message “File saved
successfully” .
To read that text then click on button “Read text from File”.
Practical 6. Write a Program to create a signup page Table Layout
Code

Activity_main.xml:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"
android:orientation="vertical"
android:stretchColumns="1">

<TableRow android:padding="5dip">

<TextView
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_span="2"
android:gravity="center_horizontal"
android:text="@string/loginForm"
android:textColor="#0ff"
android:textSize="25sp"
android:textStyle="bold" />
</TableRow>

<TableRow>

<TextView
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_marginLeft="10dp"
android:text="@string/userName"
android:textColor="#fff"
android:textSize="16sp" />

<EditText
android:id="@+id/userName"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_marginLeft="10dp"
android:background="#fff"
android:hint="@string/userName"
android:padding="5dp"
android:textColor="#000" />
</TableRow>

<TableRow>

<TextView
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:text="@string/password"
android:textColor="#fff"
android:textSize="16sp" />

<EditText
android:id="@+id/password"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:background="#fff"
android:hint="@string/password"
android:padding="5dp"
android:textColor="#000" />
</TableRow>

<TableRow android:layout_marginTop="20dp">

<Button
android:id="@+id/loginBtn"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_span="2"
android:background="#0ff"
android:text="@string/login"
android:textColor="#000"
android:textSize="20sp"
android:textStyle="bold" />
</TableRow>
</TableLayout>

Res/values/Strings.xml:
<resources>
<string name="app_name">Table Layout</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="loginForm">Login Form</string>
<string name="userName">UserName</string>
<string name="password">Password</string>
<string name="login">LogIn</string>
</resources>

Output:

Potrebbero piacerti anche