Android App ekak hadamu part 5

mjayanatha

Well-known member
  • Jan 9, 2008
    28,378
    1,885
    113
    යන එන මං නැහැ
    android බැටරි විජෙට්

    ඔන්න එහෙනම් අද බලමු android බැටරි විජෙට් එකක් හදන්නේ කොහොමද කියල... අපි හැමදාම කලේ මාර්කට් එකෙන් ඩව්න්ලෝඩ් කරන ඒක නෙහ්... මුලින්ම andoird ප්‍රොජෙක්ට් එකක් open කර ගමු.

    File--->New --->Android Application Project

    53896371.jpg


    ඊට පස්සේ එන වින්ඩොව් එකේ application name , Projects Name , package Name ඒක දෙන්න.. අනිත් ඒක අපේ android device එකේ වර්ෂන් ඒක minimum required SDK එකට දෙන්න.. :baffled: :yes:

    මුලින්ම app ඒක හැදුවම මේ වගේ තියෙන්න ඕන

    33468921.png


    video එකකුත් හැදුව :dull:




    මේකේ තියෙන බැටරි එකේ ඉමේජ් ඒක මේ තියෙන්නේ

    batpu.png


    මේ ඉමේජ් ඒක Res folder එකේ Drawable-hdpi එකට කොපි කර ගන්න

    මේ තියෙන්නේ folder ඒක

    36811972.png



    දැන් කෝඩ් ඒක බලමු

    මේ තියෙන්නේ main java ෆයිල් ඒක

    Code:
    package com.mahesh.mydbatwidget;
    
    import android.appwidget.AppWidgetManager;
    import android.appwidget.AppWidgetProvider;
    import android.content.ComponentName;
    import android.content.Context;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.os.BatteryManager;
    import android.widget.RemoteViews;
    
    import com.mahesh.mydbatwid.R;
    
    public class MydBatWidget extends AppWidgetProvider {
    
    	private String batteryLevel = "Bat";
    	private int widgetImageFrame = R.drawable.bat;
    
    	@Override
    	public void onUpdate(Context context, AppWidgetManager appWidgetManager,
    			int[] appWidgetIds) {
    
    		context.getApplicationContext().registerReceiver(this,
    				new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    
    		updateView(context);
    
    	}
    
    	@Override
    	public void onReceive(Context context, Intent intent) {
    
    		int rawlevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
    		int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
    		int level = -1;
    		if (rawlevel >= 0 && scale > 0) {
    			level = (rawlevel * 100) / scale;
    
    			batteryLevel = Integer.toString(level);
    
    		} else {
    			batteryLevel = "err";
    		}
    
    		updateView(context);
    
    		super.onReceive(context, intent);
    	}
    
    	public void updateView(Context context) {
    		RemoteViews thisViews = new RemoteViews(context.getApplicationContext()
    				.getPackageName(), R.layout.activity_main);
    		thisViews.setTextViewText(R.id.widget_text, batteryLevel);
    		thisViews.setImageViewResource(R.id.imageView1, widgetImageFrame);
    
    		ComponentName thisWidget = new ComponentName(context,
    				MydBatWidget.class);
    		AppWidgetManager.getInstance(context).updateAppWidget(thisWidget,
    				thisViews);
    	}
    
    }

    :cool: :cool: :cool: :cool: :cool: :cool:

    මේ app ඒක install කලාම install වෙන්න ඕන විද්ජෙට් එකක් විදියට :dull: :baffled: ඒක නිසා manifest ෆයිල් ඒක වෙනස් කරන්න ඕන

    manifest.png


    මේක තමයි කෝඩ් ඒක
    Code:
      <intent-filter>
                    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                </intent-filter>

    මෙන්න manifest ෆුල් කෝඩ් ඒක

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.mahesh.mydbatwid"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk android:minSdkVersion="7" />
    
        <application
            android:icon="@drawable/bat"
            android:label="@string/app_name" >
            <receiver
                android:name="com.mahesh.mydbatwidget.MydBatWidget"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                </intent-filter>
    
                <meta-data
                    android:name="android.appwidget.provider"
                    android:resource="@xml/widget_main" />
            </receiver>
    
            <!-- <service android:name=".BatteryStatusWidgetActivity$BatteryUpdateService" /> -->
        </application>
    
    </manifest>

    ඒක දෙයක් තියෙනවා කව්රු හරි මේක elakiri වගේ හදල app මර්කෙට් එකට දානවා නම් key ෆයිල් ඒක නැති කරගන්න එපා... :dull: :dull: ඒක නැති උනොත් අප්ඩේට් දාන්න බැරි වෙනවා :yes: :cool: රේඩියෝ app එකට ඕක උනා ... පට්ට ගේමක් දීල key ඒක රෙකව්ර් කලේ.. :dull: .. අප්ඩේට් දානකොට මේක වෙනස් කරන්න ඕන...

    Code:
    android:versionCode="1"
        android:versionName="1.0" >

    :cool: ;)

    සැ.යු - මම android ගැන දන්නේ බොහොම ටිකයි... මේකේ වැරදි ඇති :( සපෝර්ට් එකට බම්ප් එකක් දෙන්න... අදහස් ගොඩක් වටිනවා ඊලග ත්රෙඅඩ් එකට :) :)

    සම්පුර්ණ project ඒක ඩව්න්ලෝඩ් කරගන්න මේකට
     

    crazybuddy

    Well-known member
  • Dec 31, 2010
    52,403
    7,077
    113
    35
    කෙල්ල ළඟ
    සුපිරියි..:love:
    සෑහෙන්න මහන්සිවෙලා තියෙනවා..
    අපේ ගල් ඉබ්බා වැඩකාරයනේ ඉතිං..
    ජය මචෝ..!

     
    • Like
    Reactions: mjayanatha

    kavindagk

    Well-known member
  • Dec 18, 2008
    985
    1,000
    93
    Colombo
    rep dennea barilu :(

    anyway ela machan....godakma watinawa me karana wade... :)
    puluwannam blogak wage1k hadala ekth dala elakiri noena ayata ehemath igena gannea widiye deyakuth karapan :)