Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Sunday, June 18, 2023

Capture Moments with the Photoleap Android App: Unleashing Creative Editing Potential

INTRODUCING PHOTOLEAP ANDROID APP: UNLEASH YOUR CREATIVE POTENTIAL



Presenting Photoleap - the revolutionary Android app developed by Linerock Investment Ltd. that harnesses the power of Artificial Intelligence (AI) to take your photo editing skills to new heights. With an impressive 4.4⭐ rating on Google Play and a growing number of positive reviews, Photoleap is set to transform the way you enhance and manipulate your cherished memories.


TURN YOUR PHOTOS INTO ARTISTIC MASTERPIECES


Photoleap empowers you to transform ordinary photos into extraordinary works of art with just a few taps. Using advanced AI technology, this app offers a range of mesmerizing artistic effects and filters that bring out the hidden beauty within your images. From vibrant watercolor paintings to stunning oil brush strokes, Photoleap provides a plethora of artistic styles to choose from.


CREATE UNIQUE SELFIES AND PHOTOS


With Photoleap, you have the freedom to unleash your creativity and personalize your selfies and photos like never before. Utilize the vast collection of hundreds of styles at your disposal to cartoonize your face, add captivating effects, and experiment with various artistic expressions. Let your imagination run wild as you explore the endless possibilities that Photoleap offers.


INSTANTLY RE-DRAW YOUR PORTRAITS


The AI capabilities of Photoleap extend beyond simple filters and effects. This innovative app allows you to seamlessly re-draw your portraits, both in cartoon and vector styles, with just a single click. Watch as your photographs come to life, imbued with the charm and whimsy of a hand-drawn masterpiece. Photoleap's AI technology ensures that the re-drawing process is executed flawlessly, producing stunning results every time.


ENHANCED FEATURES TO IGNITE YOUR IMAGINATION


Photoleap doesn't stop at basic editing tools. This feature-packed app is equipped with a variety of exciting features designed to ignite your imagination and elevate your photo editing skills:


1. Full-Body Cartoon Maker: Step beyond facial transformations and transform your entire body into a captivating cartoon representation. Photoleap's full-body cartoon maker enables you to immerse yourself in a world of animated creativity.


2. Vector Portrait Templates: Elevate your designs with the extensive collection of vector portrait templates available in Photoleap. Whether you wish to enhance your professional profile or create eye-catching visuals for your personal projects, these templates will lend a touch of sophistication to your compositions.


3. Simple Layouts and Sophisticated Designs: Photoleap boasts an array of simple layouts and sophisticated designs, providing you with the tools to create visually stunning compositions effortlessly. Experiment with different layouts and designs to achieve the perfect balance between simplicity and complexity.


EMBRACE YOUR CREATIVE JOURNEY WITH PHOTOLEAP


Ready to embark on a creative journey that will revolutionize your photo editing experience? Don't miss the opportunity to download Photoleap Android App and witness the power of AI at your fingertips. With its unparalleled features, Photoleap enables you to transform your photos into artistic masterpieces, leaving a lasting impression on viewers. Unleash your creative potential and immerse yourself in the world of Photoleap - visit our website today and embark on a transformative adventure like never before.


If you find any mistakes or want to know more about Photoleap Android App, feel free to ask.

Posted By Software Guru LankaJune 18, 2023

Saturday, July 10, 2021

Android 11 released with Samsung One UI 3.1 with faster and smarter tools for us to get a great user experience.

Android 11 is the 11th major release of android and It is the OS that gets to what is important as suggested by Google Android. Your stuffs can directly be accessed using the smart shortcuts. One UI 3.1 brings you Android 11 with Optimised features with enhanced privacy and security giving you powerful device controls. 

Features:

1. Transparent notification panel with the background blurred.


2. New media volume controls 


3. Side panel with essential tools

4. Speedy keyboard with new word suggestions and swift.


5. Customized chat rooms with coloured background for even SMSs.


6. Give One Time Permissions to apps that need your mic, camera or location. The next time it must ask for permission again.

7. Eye comfort shield with adjustable colour temperature instead of blue light filter.

8. Easily go into recently opened apps.


9. Quick share instead of Wifi-Direct


10. Brief notifications with customizable effects and colours. You can also colour a notification by keyword.

There are plenty of features to be experienced and you will definitely be like Android 11 comes with One UI 3.1 after upgrading your Samsung phone.

Visit here to know more about Android 11 and Visit here to get and idea about One UI 3.1 major features.

Posted By Software Guru LankaJuly 10, 2021

Sunday, June 13, 2021

Cartoonize yourself with this amazing app.

Filled under: , , , ,


This amazing app is introduced by Linerock Investment Ltd. This app uses Artificial Intelligence(AI) to cartoonize any face easily. This app has already earned 4.4⭐s for Google Play reviews.

With this app you can cartoonize your selfies and photos using hundreds of styles.

You can also get your portrait re-drawn in cartoon or vector style automatically using Artificial Intelligence in this app.

Features:
* Full-body cartoon maker.
* Vector portrait templates.
* Lots of simple layouts and sophisticated designs.

So are you ready to cartoonize yourself. Visit here to download app and try it.

Posted By Software Guru LankaJune 13, 2021

Saturday, December 26, 2020

Create your own voice navigation system with this navigation app.


This is another GPS Navigation App powered by Google. It provides turn-by turn navigation by friendly user interface.

With this app you can get what’s happening on the road. It also tells you about traffic status, under-construction places, police cops, accidents and crashes, and etc in real-time. When traffic is bad on the route, this app will automatically change the route. 

The amazing thing you can do using this app is you can record your own voice as pre-defined customized navigations guides.

Features

* Alerts about accidents, traffic and police.
* Instant automatic route changes according to the traffic to save time.
* Listen to music.
* Tell exact time you arrive the destination.
* Find the cheapest filling stations.
* Own voices to guide you to the directions.
* Railway crossings clearly displayed.
* Day mode and Night mode.
* 2D mode and 3D mode.

Below sreenshots show you how to record your own voice for the navigation guides.

Click the Red Plus Mark(➕) to start recording your voice.

Select one by one and record your own voice to it.

When you finish recording voice click on Done, the voice will be saved for future use.
You can also clear all the recordings.

To enjoy the features of this app you can download it by visiting here or typing "Waze" on the Play Store or Apple App Store.


Posted By Software Guru LankaDecember 26, 2020

Monday, March 23, 2020

Do you like to ride a train? This is the best Train Simulator for you to do it.

Filled under: , ,


Are you dreaming riding a train. This is the best Train simulator to make the dream realize. You can ride the train on your own way. You can also learn how to do changing locomotives and various kinds of railway operations.  You can also have 16 different camera views; Top, under, left and right of the train, In the locomotive, In the passenger room, Over the train, Fronside and Backside of the train and etc... See following pictures for camera views.
This game is totally free and it was designed by Appsoleut Games and powerd by Unity.

You can download the game by clicking here


Posted By Software Guru LankaMarch 23, 2020

Saturday, March 21, 2020

The best app to detect songs around you - only for Apple and Android users

This is an amazing app helps you to detect songs and music around you to get their lyrics and information about the authors.

Imagine that you are listening a song or a music while travelling, working, attending a party, watching the TV or listening to the radio or podcasts. 

With this app, you can catch immediately the name, the original soundtrack and the lyrics of the song which you are listening at that moment. 

Steps:
* Take the phone to the closest of the speaker which the music is playing.
* Open the app
* Tap the Soundhound button 
* Allow the phone's mic to here it.
* Then tap the soundhound button again.
* Ultimately you can see the name of the song and you can play the priginal soundtrack of the song.
* Lyrics are available for some songs.

You can download the app officially for the Apple and Android devices by visting here


Posted By Software Guru LankaMarch 21, 2020

Sunday, October 14, 2018

Android studio for beginners (with curd functions)

Filled under:

SQLite is a opensource SQL database that stores data to a text file on a device. Android comes in with built in SQLite database implementation.
SQLite supports all the relational database features. In order to access this database, you don't need to establish any kind of connections for it like JDBC,ODBC e.t.c

Database - Package

The main package is android.database.sqlite that contains the classes to manage your own databases

Database - Creation

In order to create a database you just need to call this method openOrCreateDatabase with your database name and mode as a parameter. It returns an instance of SQLite database which you have to receive in your own object.Its syntax is given below
Home The application will consist of an activity and a database handler class (MyDBHandler class). The database handler will be a subclass of SQLiteOpenHelper and will provide an abstract layer between the underlying SQLite database and the activity class. A third class (Student class) will need to be implemented to hold the database entry data as it is passed between the activity and the handler.


public class Home extends AppCompatActivity {

    private Button login, reg;    
    private EditText uname, pass;    
    private DBHelper dbHelper;

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

        dbHelper = new DBHelper(this);

        login = findViewById(R.id.btnLogin);   
        reg = findViewById(R.id.btnReg);        
        uname = findViewById(R.id.uname); 
        pass = findViewById(R.id.pass);

        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                ArrayList<User> list = dbHelper.readAllInfo();
                for (User u : list){

                    if(u.getUserName().equals(uname.getText().toString())){
                        if(u.getPassword().equals(pass.getText().toString())){

                           Intent intent = new Intent(Home.this, ProfileManagement.class);                            
                            intent.putExtra("id", u.getUserId());    
                            startActivity(intent);                        }
                    }
                }
            }
        });
        reg.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {

                String user = uname.getText().toString();               
               String passwrd = pass.getText().toString();
               dbHelper.addInfo(user, passwrd);

                Toast.makeText(Home.this, "User Registered!", Toast.LENGTH_SHORT).show();            }
        });    }
}


Database - Fetching

We can retrieve anything from database using an object of the Cursor class. We will call a method of this class called rawQuery and it will return a resultset with the cursor pointing to the table. We can move the cursor forward and retrieve the data.
Cursor resultSet = mydatbase.rawQuery("Select * from TutorialsPoint",null);
resultSet.moveToFirst();
String username = resultSet.getString(0);
String password = resultSet.getString(1);
There are other functions available in the Cursor class that allows us to effectively retrieve the data. That includes DB helper 



public class DBHelper extends SQLiteOpenHelper {

    private final static String DATABASE_NAME = "UserInfo.db";
    public DBHelper(Context context) {
        super(context, DATABASE_NAME, null, 1);    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {

        String CREATE_TABLE =
                "CREATE TABLE " + UserProfile.Users.TABLE_NAME + " (" +
                        UserProfile.Users._ID + " INTEGER PRIMARY KEY," +
                        UserProfile.Users.COLUMN_USERNAME + " TEXT," +
                        UserProfile.Users.COLUMN_DOB + " TEXT," +
                        UserProfile.Users.COLUMN_GENDER + " TEXT," +
                        UserProfile.Users.COLUMN_PASSWORD + " TEXT )";
        sqLiteDatabase.execSQL(CREATE_TABLE);    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }

    public long addInfo(String username, String password){

        SQLiteDatabase sqLiteDatabase = getWritableDatabase();

        ContentValues contentValues = new ContentValues();       
        contentValues.put(UserProfile.Users.COLUMN_USERNAME, username);      
        contentValues.put(UserProfile.Users.COLUMN_PASSWORD, password);
    long rowId = sqLiteDatabase.insert(UserProfile.Users.TABLE_NAME, null, contentValues);
        return rowId;   
 }
 public int updateInfo(String userId, String userName, String password, String dob, 
String gender){

        SQLiteDatabase sqLiteDatabase = getWritableDatabase();
        ContentValues values = new ContentValues();     
        values.put(UserProfile.Users.COLUMN_USERNAME, userName);        
        values.put(UserProfile.Users.COLUMN_PASSWORD, password);     
        values.put(UserProfile.Users.COLUMN_GENDER, gender);        
        values.put(UserProfile.Users.COLUMN_DOB, dob);

        String selection = UserProfile.Users._ID + " = ?";       
        String args[] = {userId};

 int count = sqLiteDatabase.update(UserProfile.Users.TABLE_NAME, values, selection, args);
        return count;   
 }

    public ArrayList readAllInfo(){

        SQLiteDatabase sqLiteDatabase = getReadableDatabase();
        String[] projection = {

                UserProfile.Users._ID,                
                UserProfile.Users.COLUMN_USERNAME,                
                UserProfile.Users.COLUMN_DOB,                
                UserProfile.Users.COLUMN_GENDER,               
                UserProfile.Users.COLUMN_PASSWORD
        };

        String sortOrder = UserProfile.Users._ID + " DESC";
        Cursor cursor = sqLiteDatabase.query(
             UserProfile.Users.TABLE_NAME, projection,null,null,null,null,sortOrder
        );
        ArrayList<User> list = new ArrayList<>();
        if (cursor.getCount() > 0){

            while(cursor.moveToNext()){

                User newUser = new User();
              int id = cursor.getInt(cursor.getColumnIndexOrThrow(UserProfile.Users._ID));                String user = cursor.getString(cursor.getColumnIndexOrThrow(UserProfile.Users.COLUMN_USERNAME));                String date = cursor.getString(cursor.getColumnIndexOrThrow(UserProfile.Users.COLUMN_DOB));                String gen = cursor.getString(cursor.getColumnIndexOrThrow(UserProfile.Users.COLUMN_GENDER));                String pass = cursor.getString(cursor.getColumnIndexOrThrow(UserProfile.Users.COLUMN_PASSWORD));
                newUser.setUserId(id+"");                
                newUser.setUserName(user);                
                newUser.setDateOfBirth(date);                
                newUser.setGender(gen);                
                newUser.setPassword(pass);
                list.add(newUser);          
  }
        }

        return list;    
}

    public ArrayList readAllInfo(String userId, String userName){

        String selection;        
        String[] args = {""};

        if(userId == null){

            selection = UserProfile.Users.COLUMN_USERNAME + " LIKE ?";
            args[0] = userName;        
        }
        else {
            selection = UserProfile.Users._ID + " = ?";            
            args[0] = userId;        
        }

        SQLiteDatabase sqLiteDatabase = getReadableDatabase();
        String[] projection = {

                UserProfile.Users._ID,                
                UserProfile.Users.COLUMN_USERNAME,                
                UserProfile.Users.COLUMN_DOB,                
                UserProfile.Users.COLUMN_GENDER,                
                UserProfile.Users.COLUMN_PASSWORD
        };


        String sortOrder = UserProfile.Users._ID + " DESC";
        Cursor cursor = sqLiteDatabase.query(
            UserProfile.Users.TABLE_NAME, projection, selection,args,null,null, sortOrder
        );
        ArrayList<User> list = new ArrayList<>();
        if (cursor.getCount() > 0){

            while(cursor.moveToNext()){

            User newUser = new User();
            int id = cursor.getInt(cursor.getColumnIndexOrThrow(UserProfile.Users._ID));                String user = cursor.getString(cursor.getColumnIndexOrThrow(UserProfile.Users.COLUMN_USERNAME));                String date = cursor.getString(cursor.getColumnIndexOrThrow(UserProfile.Users.COLUMN_DOB));                String gen = cursor.getString(cursor.getColumnIndexOrThrow(UserProfile.Users.COLUMN_GENDER));                String pass = cursor.getString(cursor.getColumnIndexOrThrow(UserProfile.Users.COLUMN_PASSWORD));
            newUser.setUserId(id+"");               
            newUser.setUserName(user);                
            newUser.setDateOfBirth(date);                
            newUser.setGender(gen);                
            newUser.setPassword(pass);

                list.add(newUser);            
          }
        }

        return list;    }

    public int deleteInfo(String username){

        SQLiteDatabase sqLiteDatabase = getReadableDatabase();
        String selection = UserProfile.Users._ID + " = ?";        
        String[] args = {username};

   int deletedRows = sqLiteDatabase.delete(UserProfile.Users.TABLE_NAME, selection, args);
     return deletedRows;    
}
}

n software applications, it is mostly required to save information for some internal use 
or off course to provide user to great features depending on the data. And when we talk
about android so SQLite is that default feature which is used as a database and also 
used as a local database for any application. This tutorial shows a very simple example
 which is to just store important data like Profile Management shops address or contacts using 
SQLite Database in the android studio.




public class ProfileManagement extends AppCompatActivity {

    private Button update;    
    private EditText uname, dob, pass;    
    private RadioButton male, female;    
    private DBHelper dbHelper;    
    private String userId;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);        
        setContentView(R.layout.activity_profile_management);
        dbHelper = new DBHelper(this);        

        Intent intent = getIntent();        
        userId = intent.getStringExtra("id");

        uname = findViewById(R.id.user);        
        dob = findViewById(R.id.date);        
        pass = findViewById(R.id.word);     
        update = findViewById(R.id.btnUpdate);        
        male = findViewById(R.id.radioMale);        
        female = findViewById(R.id.radioFe);

        ArrayList<User> list =  dbHelper.readAllInfo(userId, null);
        for (User u : list){

            uname.setText(u.getUserName());            
            pass.setText(u.getPassword());            
            dob.setText(u.getDateOfBirth());

            if(u.getGender() != null){

                if(u.getGender().equals("Male")){

                    male.setChecked(true);                
                }
                else{
                    female.setChecked(true);                
                }
            }
        }

        update.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Intent intent = new Intent(ProfileManagement.this, EditProfile.class);                intent.putExtra("id", userId);                startActivity(intent);            }
        });    }
}

User First, start with insert, we add a method addShop() which take Shop as a parameter 
and map our shop values with table’s column using ContentValues object. 
getWritableDatabase is used for creating and/or opening database. 

package com.example.prabuddhaabisheka.mock;
public class User {

    private String userId;    
    private String userName;    
    private String dateOfBirth;    
    private String gender;    
    private String password;

    public User() {
    }

    public String getUserId() {

        return userId;    }

    public void setUserId(String userId) {

        this.userId = userId;    }

    public String getUserName() {

        return userName;    }

    public void setUserName(String userName) {
        this.userName = userName;    }

    public String getDateOfBirth() {
        return dateOfBirth;    }

    public void setDateOfBirth(String dateOfBirth) {
        this.dateOfBirth = dateOfBirth;    }

    public String getGender() {
        return gender;    }

    public void setGender(String gender) {
        this.gender = gender;    }

    public String getPassword() {
        return password;    }

    public void setPassword(String password) {
        this.password = password;    }
}

User profile Android Studio is the official[7] integrated development environment (IDE) for
Google's Android operating system, built on JetBrainsIntelliJ IDEA software and designed specifically
 for Android development.[8] It is available for download on WindowsmacOS and Linux based 
operating systems.[9][10] It is a replacement for the Eclipse Android Development Tools (ADT) as 
primary IDE for native Android application development.

package com.example.prabuddhaabisheka.mock;
import android.provider.BaseColumns;
public final class UserProfile {

    private UserProfile() {    }

    public static class Users implements BaseColumns {

        public final static String TABLE_NAME = "userInfo";        
        public final static String COLUMN_USERNAME = "userName";        
       public final static String COLUMN_PASSWORD = "password";       
       public final static String COLUMN_GENDER = "gender";     
       public final static String COLUMN_DOB = "dateOfBirth";   
   }
}

Edit profile Today, Android Studio 3.2 is available for download. Android 
Studio 3.2 is the best way for app developers to cut into the latest Android 9 Pierelease 
and build the new Android App bundle. Since announcing this update of Android Studio
 at Google I/O '18, we have refined and polished 20+ new features and focused our efforts 
on improving the quality for this stable release of Android Studio 3.2.


public class EditProfile extends AppCompatActivity {

    private Button edit,delete,search;    
    private EditText uname, dob, pass;
    private RadioGroup radioGroup;
    private RadioButton male, female;
    private String gender;
    private DBHelper dbHelper;
    private String userId;  

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_edit_profile);
        dbHelper = new DBHelper(this);

        Intent intent = getIntent();
        userId = intent.getStringExtra("id");
        Toast.makeText(EditProfile.this, userId, Toast.LENGTH_SHORT).show();

        uname = findViewById(R.id.userName);
        dob = findViewById(R.id.dateOfB);
        pass = findViewById(R.id.psswrd);
        edit = findViewById(R.id.btnEdit);
        delete = findViewById(R.id.btnDelete);
        search = findViewById(R.id.btnSearch);
        radioGroup = findViewById(R.id.radio);
        male = findViewById(R.id.maleR);
        female = findViewById(R.id.femaleR);

        ArrayList<User> list =  dbHelper.readAllInfo(userId, null);
        if(!list.isEmpty()){

            for (User u : list){

                uname.setText(u.getUserName());                
                pass.setText(u.getPassword());
                dob.setText(u.getDateOfBirth());

                if(u.getGender() != null){

                    if(u.getGender().equals("Male")){

                        male.setChecked(true);
                    }
                    else
                    {
                        female.setChecked(true);
                    }
                }
            }
        }

        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int view) {

                if(view == R.id.femaleR){

                    gender = "Female";
                }
                else{

                    gender = "Male";
                }
            }
        });
        search.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            ArrayList<User> urs = dbHelper.readAllInfo(null, uname.getText().toString());
                for (User u : urs){

                    userId = u.getUserId();
                    uname.setText(u.getUserName());
                    pass.setText(u.getPassword());
                    dob.setText(u.getDateOfBirth());

                    if(u.getGender() != null){

                        if(u.getGender().equals("Male")){

                            male.setChecked(true);
                        }
                        else
                        {
                            female.setChecked(true);
                        }
                    }
                }
            }
        });
        edit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String userName = uname.getText().toString();
                String date = dob.getText().toString();
                String pwrd = pass.getText().toString();

                if(female.isChecked()){

                    gender = "Female";
                }
                else{

                    gender = "Male";
                }

                int count = dbHelper.updateInfo(userId, userName, pwrd, date, gender);
                if(count > 0){

                  Toast.makeText(EditProfile.this, "Updated!", Toast.LENGTH_SHORT).show();                }
                else{

     Toast.makeText(EditProfile.this, "Something went wrong!", Toast.LENGTH_SHORT).show();                }
            }
        });
        delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                int count = dbHelper.deleteInfo(userId);
                if(count > 0){

            Toast.makeText(EditProfile.this, "Deleted!", Toast.LENGTH_SHORT).show();                }
                else{
        Toast.makeText(EditProfile.this, "Something went wrong!", Toast.LENGTH_SHORT).show();                }
            }
        });    }
}

insert - return value = long
if long = -1 --->  false
else   ---->  true
db.insert(tablename,null,contentValues)

Update - return value = long 
if long = -1 --->  false
else   ---->  true
db.update(tablename,contentValue,_ID+"=?",new String[]{id});

Delete - return value = integer (no of rows deleted)
db.delete(tablename,_ID+"=?",new String[]{id});

Posted By UnknownOctober 14, 2018