Wednesday, April 19, 2017

OMG - Facebook is not free - Must watch

OMG - Facebook is not free - Must watchOMG - Facebook is not free - Must watch

Thursday, April 6, 2017

What is Android? Android is a stack of software for mobile devices


What is Android?

Android is a stack of software for mobile devices which includes an Operating System, middleware and some key applications. The application executes within its own process and its own instance of Dalvik Virtual Machine. Many Virtual Machines run efficiently by a DVM device.

DVM executes Java languages byte code which later transforms into .dex format files. What are the advantages of Android? It is simple and powerful SDK. Licensing, Distribution or Development fee is not required. Easy to Import third party Java library. Supporting platforms are – Linux, Mac Os, Windows. Innovative products like the location-aware services, location of a nearby convenience store etc., are some of the additive facilities in Android.

Components can be reused and replaced by the application framework. Optimized DVM for mobile devices. SQLite enables to store the data in a structured manner. Supports GSM telephone and Bluetooth, WiFi, 3G and EDGE technologies.

The development is a combination of a device emulator, debugging tools, memory profiling and plug-in for Eclipse IDE. The customer will be benefited from wide range of mobile applications to choose, since the monopoly of wireless carriers like AT&T and Orange will be broken by Google Android.

Describe Android Application Architecture. Android Application Architecture has the following components: Services – like Network Operation Intent - To perform inter-communication between activities or services Resource Externalization - such as strings and graphics Notification signaling users - light, sound, icon, notification, dialog etc. Content Providers - They share data between applications.

How will you record a phone call in Android? How to get a handle on Audio Stream for a call in Android? Permissions.PROCESS_OUTGOING_CALLS: Allows an application to monitor, modify, or abort outgoing call.


Best Practice, Check List and Distribution of Android Google Glass

                                                       Distribution of Google Glass Apps
                                                             ---------------------------------
Note: You can't submit GDK Glassware for approval yet, but you should follow all these guidelines so that you're ready when we begin accepting GDK submissions. You should still submit proposals for voice commands so that they are approved before your GDK Glassware is submitted.
MyGlass - is the main distribution channel for Glassware that lets all Glass users discover and install Glassware easily.

All Glassware on MyGlass goes through a review process so that users have a consistent and safe experience with high-quality Glassware. If you want to appear on MyGlass, complete all of the following requirements to ensure a speedy review.

Source - google.com/glass

AWS Amazon Linux EC2 Installation & Open VPN process | step by step process

Thursday, October 1, 2015

Encryption Policy in India - By DEITY



Information Technology (Amendment) Act, 2008 provides for encryption under Section 84A, which reads as follows:
“84A. The Central Government may, for secure use of the electronic medium and for promotion of e-governance and e-commerce, prescribe the modes or methods for encryption.”

Android M new features



Android Marshmallow (Android 6.0) is almost ready, with Google expected to unveil the final version of the OS before the end of the month. Here we reveal exactly what to expect from Android 6.0 Marshmallow including release date and new features.
The OS will then become available to other Nexus devices, and within a few months to flagship Phone and Tablet. Don't expect to get it on your device (unless it's a Nexus) until late 2015/early 2016.
Google upcoming Operating System 6.0 (Android Marshmallow). Android M having great feature, 10 best feature of Android M is listed below - 
1. Doze Mode - better battery life
2. Customize Quick Settings - System UI tuner will help you out to customize quick setting
3. Uninstall Apps quickly - uninstall apps straight from the home screen
4. Now on Tap - on long press on home button call google now
5. Android Pay - Android M allowing you to make purchases with a simple tap (via NFC) without even opening an app.
6. Finger Print Scanner Support - Android M added finger print scanner feature
7. Apps Permission - Android M is going to change that with the ability to pick and choose which permissions you're happy with for each individual app. You'll also be able to accept or deny a specific permission as and when an app requests it.
8. Direct Share - Like creating favorite, If you send links, photos or files to the same contacts then Android M will start adding them to the Share menu to speed up the process.
9. Better Volume Control - Now you can set volume control for call, notification and Alarm separately. Not only is Do Not Disturb (DND) part of Quick Settings in Android M, the volume control has been tweaked for the better.
10. USB type C - You can plug it in either way around, it will charge your device quicker and even allow you to charge other devices.
As a Mobility Architect in Daemon, we are closely looking to each and every new upcoming features of Mobility.
Source - Google

What is Mobile Wallet? How it works?


Mobile wallet provides you how you can boost up your business, and how you can improve your customer’s experience.
What is Mobile Wallet? MW is a solution for commercial transaction across domain and geography. Such as Osaifu Keitai, Smart Wallet, Softcard, Google Wallet, Passbook, MasterPass etc. Lots of solutions is available in market but still mobile wallets are n an early stage of market.
If we defined Mobile Wallet in One line, it is equivalent to the physical wallet (wallet in pocket) and which can be used for purchasing goods, cloths, services at any time and any location. It can be in form of ID or social security card, health card, payment card, tickets for transport, or movies or events, hotel bill, gift and coupons.

Why Mobile Wallet – Market is still doing experiments on solutions, and today’s world is not well defined with standardization process and implementation solutions for e-transactions.                                                       
How mobile Wallets Work
Equivalent money (of your wallet pocket value) stored in your mobile wallet, can be used in many different aspects. Mobile Wallet owner’s personal information is crucial to secured. In that prospective, the owner information might taken in form of number, card, password, or digital signature, thumb scan, eye reorganization or QR code or something else, to relate or link with owner personal data.

Now based on equivalent money available in mobile wallet, anyone can purchase equivalent worthy goods, services or anything.
Working as Mobile Application architect with Daemon software services, India, we have good practices and competency to build wallet services (Mobile wallet)
Top few points need to understand before moving to Mobile Wallet domain –
  1. Mobile wallet is the digital equivalent to a physical wallet
  2. Two groups of mobile wallet – Proximity & remote
  3. Based on required offer services, Umbrella wallets are loosely coupled with various services, while integrated wallets have all services fully integrated
  4. Mobile Wallet services are – payment, coupons, ticketing, access and identity
  5. Mobile wallet in daily life
  6. Mobile wallets will provide you essential customer data that can be analysed to the advantage and for business.

As a Mobility Architect in Daemon Software Services,  we are setting up new mobility practices for Mobile wallet, core banking solutions, international money transfer (remittance), mCommerce solutions.

Tuesday, March 31, 2015

SSL Implementations for Android Application


When we try to access a Web Service hosted on HTTPS and is secured over SSL, Host Verification and/or Peer Verification are to be handled in our application



SSL implementation in Android, 4 key points you have to keep in mind - 

1. Creating keystore
2. Create a Class to Use Our Store for HTTPS Connections
3. Copy mystore File
4. Process for Host Verification



Wednesday, December 3, 2014

What is new about Android 5.0 Lollipop

The news has spread like wildfire in the mobile and mobile application development industry, the new version of Google’s operating system has finally arrived. Android 5.0 Lollipop has taken this opportunity to give itself a major facelift, many believe the style and design to be closer to that of the Apple operating system, iOS.
However, despite the similarities, we cannot deny that with every Android 5.0 system update, Lollipop surprises us by either adding new functionalities, improving other aspects or as in this version with improved security. It was exactly that that was regarded as their main weakness, since Android was commonly known as the most attacked operating system for mobile malware.
Lollipop also brings some new features which you can now enjoy if you have a Nexus 6 or a Nexus 9, new models launched by Google with Android 5.0 already installed. If you have another Android mobile device do not despair, in the coming weeks you will be able to upgrade your OS, latest early 2015.


Android 5.0 Lollipop – What’s New?

The majority of new updates for Android 5.0 Lollipop does not directly affect the development of applications, but it can do, should we want to, which should be taken into account when defining and designing a prototype mobile application. For example energy savings should be taken into account if you are going to develop a ‘heavy’ app. For now we will focus on the most important updates of Lollipop:
Energy Saving:
One of the notable improvements of the system is the inclusion of an energy saving mode. This time this comes as standard on Android devices. A functionality which is perfect for those who spend their days using their devices and have to resort to awkward external battery charging or sacrificing their device usage time.
Blocking apps:
This is one of the innovations that can be very useful and yet it often seen as less important or not at all. With this new feature you can block an application simply by inputting a pin code of your choice into the screen. For example, if you give your phone to a child to play with but do not want them to get out of a certain game or browser, you can simply lock the device. This enables you to have peace of mind that the child isn’t going to mess up your work on your device or that they are definitely playing the educational app you’ve told them to ‘play’ (LINK)
Smart Unlock by Bluetooth:
This is another novelty addition that may be useful to the user. It enables the user to configure accessories that are connected by Bluetooth. When you connect the accessory for the first time, the mobile phone or tablet will pick up that the owner is nearby so you do not need to go through the interface unlock every time you go to connect.
Backup apps and data:
The functionality has finally arrived. This functionality was usually one of the big differences between the iOS operating system of Apple, and that of Android. After waiting for several versions to accommodate the function, it is finally Lollipop which allows us the possibility of backing up all of our apps and data.

Change in notifications:
This is one of the most important and most visible changes that the user will notice. Furthermore any developer who wishes to use lollipop to create applications must be aware that this will directly affect their application. There have been many big changes within the new Android 5.0 Lollipop. To take full advantage of them you must take into account that notifications will not be used in the same way as before. A lot more can be done, for example; you can access the alert notifications configuration for each application and change it. We can even set any app to notify you even in ‘Do Not Disturb’ mode if you consider that the application is very important or a priority.
Multiuser:
The new function that google have wanted to highlight the most is the multiscreen functionality. This function was available several versions ago, but was limited to Android tablets, and not smartphones. Now however, we can access multiple Lollipop user accounts from one Android phone or tablet, not only that but you can configure each desktop applications independently with different profiles.
Remote data wipe:
The location service within the android device  is also used by Google and been improved. The feature allows for your phone to be tracked, as usual, but also data can be erased from it. This feature many missed her, joins the new version of Android. This function that was so dearly missed before on this device is now available for the next version of Android.
Reactive Screen:
With Android 5.0 Lollipop turn can double tap the screen if the hardware supports it. As configured to mobile lights to catch it, without touching any buttons on the terminal.
Security – The Strong Point of Android 5.0
The security of any operating systems is always an extremely important and sensitive issue. It is increasingly common for mobile device users to make payments from their phones, through banking and personal data. Knowing that their data will be protected is key to the user.
When we talk about security in Android it does not necessarily refer to the new version Android 5.0 Lollipop. Since the introduction in Android SELinux, one year ago, they have managed to prevent and correct a large number of vulnerabilities in mobile applications installed. The reasoning is due to lies the role of management when accessing different sections of the operating system.
Overall improvements have been gradually added to the SELinux in the new version of Android 5.0 Lollipop although the user has not noticed them,you can say without hesitation that Lollipop is a safer version operating system than that of Google. This will undoubtedly be one of the reasons, along with all other novelties, why you should plump for the latest version of Android.

There is no reason to wait to start developing applications for Lollipop. Android developers can now begin to investigate this new operating system and create mobile applications for Lollipop. This is possible because Google has released the SDK of Lollipop and are available for download. In this way we can obtain specific images of what applications will look like on devices with Android 5.0 Lollipop installed, such as Nexus 6 and Nexus 9.
It is hoped that Lollipop, with the level of app development, the most notable improvements have to do with the level of autonomy and battery life -as stated before-, there have also been changes in the delivery of notifications to mobile applications. So application developers will have to  improve their applications to adapt to new to the new functionalities and ease the transition for Lollipop users who choose to upgrade your operating system.


Thursday, October 9, 2014

Basic Concept of Animation in Android


Animation in Android -
--------------------------------

Animation in android is possible from many ways.

making animation called tweened animation.
Tween Animation takes some parameters such as start value , end value, size , time duration , rotation angle e.t.c and perform the required animation on that object.
In order to perform animation in android , call a static function loadAnimation() of the class AnimationUtils.
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.myanimation);
second parameter, it is the name of the our animation xml file.

Sr.No
Method & Description
1
start()
This method starts the animation.
2
setDuration(long duration)
This method sets the duration of an animation.
3
getDuration()
This method gets the duration which is set by above method
4
end()
This method ends the animation.
5
cancel()
This method cancels the animation.

ImageView image1 = (ImageView)findViewById(R.id.imageView1); image.startAnimation(animation);

To perform a zoom in animation , create an XML file under anim folder under res directory, and put zoom xml code.
<set xmlns:android="http://schemas.android.com/apk/res/android"> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:fromXScale="0.5" android:toXScale="3.0" android:fromYScale="0.5" android:toYScale="3.0" android:duration="5000" android:pivotX="50%" android:pivotY="50%" > </scale> </set>


The parameter fromXScale and fromYScale defines the start point and the parameters toXScale andtoYScale defines the end point.
The duration defines the time of animation and the pivotX, pivotYdefines the center from where the animation would start.

Create new project and copy MainActivity.java file code into your MainActivity.java

MainActivity.java
------------------------

package com.example.animation;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;

public class MainActivity extends Activity {

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

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
     // Inflate the menu; this adds items to the action bar if it is present.
     getMenuInflater().inflate(R.menu.main, menu);
     return true;
  }

  public boolean onOptionsItemSelected(MenuItem item) 
  { 
  super.onOptionsItemSelected(item); 
     switch(item.getItemId()) 
     { 
     case R.id.zoomInOut:
        ImageView image = (ImageView)findViewById(R.id.imageView1);
        Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.myanimation);
        image.startAnimation(animation);
           return true;
     case R.id.rotate360:
       ImageView image1 = (ImageView)findViewById(R.id.imageView1);
       Animation animation1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.clockwise);
       image1.startAnimation(animation1);
           return true;
     case R.id.fadeInOut:
       ImageView image2 = (ImageView)findViewById(R.id.imageView1);
       Animation animation2 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fade);
       image2.startAnimation(animation2);
          return true;


     }
     return false;
  }

}

activity_main.xml
-------------------------

<RelativeLayout 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"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world"  />
    
    <ImageView
      android:id="@+id/imageView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="179dp"
      android:layout_below="@+id/textView1"
      android:src="@drawable/ic_launcher"/>
</RelativeLayout>



AndroidMenifest.xml
------------------------------


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.animation"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

    <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      <activity
         android:name="com.example.animation.MainActivity"
         android:label="@string/app_name" >
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>

</manifest>

Create anim folder inside res folder - res->anim

Create three file inside anim called clockwise.xml, fade.xml, and myanimation.xml


clockwise.xml
-------------

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

   <rotate xmlns:android="http://schemas.android.com/apk/res/android"
      android:fromDegrees="0"
      android:toDegrees="360"
      android:pivotX="50%"
      android:pivotY="50%"
      android:duration="5000" >

   </rotate>

   <rotate xmlns:android="http://schemas.android.com/apk/res/android"
      android:startOffset="5000"
      android:fromDegrees="360"
      android:toDegrees="0"
      android:pivotX="50%"
      android:pivotY="50%"
      android:duration="5000" >

   </rotate>

</set>


fade.xml
-----------

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
   android:interpolator="@android:anim/accelerate_interpolator" >

   <alpha
      android:fromAlpha="0"
      android:toAlpha="1" 
      android:duration="2000" >

   </alpha>


   <alpha
      android:startOffset="2000"
      android:fromAlpha="1"
      android:toAlpha="0" 
      android:duration="2000" >

   </alpha>
   
</set>

myanimaion.xml
--------------------

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

   <scale xmlns:android="http://schemas.android.com/apk/res/android"
      android:fromXScale="0.5"
      android:toXScale="3.0"
      android:fromYScale="0.5"
      android:toYScale="3.0"
      android:duration="5000"
      android:pivotX="50%"
      android:pivotY="50%" >

   </scale>


   <scale xmlns:android="http://schemas.android.com/apk/res/android"
      android:startOffset="5000"
      android:fromXScale="3.0"
      android:toXScale="0.5"
      android:fromYScale="3.0"
      android:toYScale="0.5"
      android:duration="5000"
      android:pivotX="50%"
      android:pivotY="50%" >

   </scale>

</set>


inside menu paste below code -
menu.xml -
--------------
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/rotate360"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/rotate_String"/>
    <item
        android:id="@+id/zoomInOut"
        android:orderInCategory="100"
        android:title="@string/zoom_In_Out"/>
    <item
        android:id="@+id/fadeInOut"
        android:orderInCategory="100"
        android:title="@string/fade_String"/>

</menu>

string.xml
------------

<?xml version="1.0" encoding="utf-8"?>
<resources>

   <string name="app_name">Animation</string>
   <string name="action_settings">Settings</string>
   <string name="hello_world">Hello world!</string>
   <string name="zoom_In_Out">Zoom In/Out</string>
   <string name="rotate_String">Clockwise/Anti Clockwise</string>
   <string name="fade_String">Fade In/Out</string>

</resources>