.
102-Android Studio 1.5 Blank Activity Template
Continue from Tutorial 101 
 | 
1) Create New Project
1.1) Configure New Project
Application Name: MyBlank1
Company Domain: notarazi.com
Package Name: com.notarazi.myblank1 (auto-generated)
Project Location: C:\Project1\MyBlank1\ (auto-generated)
1.2) Select Target Device
1.3) Add Activity
Select Blank Activity.
1.4) Customize the Activity
Accept defaults.
2) Observe the project codes
2.1) build.gradle (module:app)
apply plugin: 'com.android.application' 
android { 
   compileSdkVersion 23 
   buildToolsVersion "23.0.2" 
   defaultConfig { 
       applicationId "com.notarazi.myblank1" 
       minSdkVersion 15 
       targetSdkVersion 23 
       versionCode 1 
       versionName "1.0" 
   } 
   buildTypes { 
       release { 
           minifyEnabled false 
           proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
       } 
   } 
} 
dependencies { 
   compile fileTree(dir: 'libs', include: ['*.jar']) 
   testCompile 'junit:junit:4.12' 
   compile 'com.android.support:appcompat-v7:23.1.1' 
   compile 'com.android.support:design:23.1.1' 
} 
 | 
2.2) AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
   package="com.notarazi.myblank1"> 
   <application 
       android:allowBackup="true" 
       android:icon="@mipmap/ic_launcher" 
       android:label="@string/app_name" 
       android:supportsRtl="true" 
       android:theme="@style/AppTheme"> 
       <activity 
           android:name=".MainActivity" 
           android:label="@string/app_name" 
           android:theme="@style/AppTheme.NoActionBar"> 
           <intent-filter> 
               <action android:name="android.intent.action.MAIN" /> 
               <category android:name="android.intent.category.LAUNCHER" /> 
           </intent-filter> 
       </activity> 
   </application> 
</manifest> 
 | 
If the above two statements were omitted, you will get runtime error message: 
Unable to start activity ComponentInfo{com.notarazi.myblank1/com.notarazi.myblank1.MainActivity}: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead. 
 | 
2.3) MainActivity.java
package com.notarazi.myblank1; 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.view.Menu; 
import android.view.MenuItem; 
public class MainActivity extends AppCompatActivity { 
   @Override 
   protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_main); 
       Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
       setSupportActionBar(toolbar); 
       FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
       fab.setOnClickListener(new View.OnClickListener() { 
           @Override 
           public void onClick(View view) { 
               Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
                       .setAction("Action", null).show(); 
           } 
       }); 
   } 
   @Override 
   public boolean onCreateOptionsMenu(Menu menu) { 
       // Inflate the menu; this adds items to the action bar if it is present. 
       getMenuInflater().inflate(R.menu.menu_main, menu); 
       return true; 
   } 
   @Override 
   public boolean onOptionsItemSelected(MenuItem item) { 
       // Handle action bar item clicks here. The action bar will 
       // automatically handle clicks on the Home/Up button, so long 
       // as you specify a parent activity in AndroidManifest.xml. 
       int id = item.getItemId(); 
       //noinspection SimplifiableIfStatement 
       if (id == R.id.action_settings) { 
           return true; 
       } 
       return super.onOptionsItemSelected(item); 
   } 
} 
 | 
2.4) res/layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayoutxmlns: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" 
   android:fitsSystemWindows="true" 
   tools:context="com.notarazi.myblank1.MainActivity"> 
   <android.support.design.widget.AppBarLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:theme="@style/AppTheme.AppBarOverlay"> 
       <android.support.v7.widget.Toolbar 
           android:id="@+id/toolbar" 
           android:layout_width="match_parent" 
           android:layout_height="?attr/actionBarSize" 
           android:background="?attr/colorPrimary" 
           app:popupTheme="@style/AppTheme.PopupOverlay" /> 
   </android.support.design.widget.AppBarLayout> 
   <include layout="@layout/content_main" /> 
   <android.support.design.widget.FloatingActionButton 
       android:id="@+id/fab" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="bottom|end" 
       android:layout_margin="@dimen/fab_margin" 
       android:src="@android:drawable/ic_dialog_email" /> 
</android.support.design.widget.CoordinatorLayout> 
 | 
2.5) res/layout/content_main.xml
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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" 
   android:paddingBottom="@dimen/activity_vertical_margin" 
   android:paddingLeft="@dimen/activity_horizontal_margin" 
   android:paddingRight="@dimen/activity_horizontal_margin" 
   android:paddingTop="@dimen/activity_vertical_margin" 
   app:layout_behavior="@string/appbar_scrolling_view_behavior" 
   tools:context="com.notarazi.myblank1.MainActivity" 
   tools:showIn="@layout/activity_main"> 
   <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Hello World!" /> 
</RelativeLayout> 
 | 
DOWNLOAD
.
No comments:
Post a Comment