Browsed by
Category: Tutorials

React Native installation on Mac

React Native installation on Mac

Step one : First Visit this one http://arifhasnat.com/2018/08/10/react-native-1-installation-and-project-create/ Step two : Then open terminal and run this command to get react native command line Step three: Create new project

React native – 1 : Installation and Project Create

React native – 1 : Installation and Project Create

Step 1 : Download node and install https://nodejs.org/en/download/ . Step 2 :  Open Command line for Windows as Administration mode and Terminal for mac/ linux. Sote ::  For mac and linux please add if the commands in bellow are not works. Step 3 : Install npm Step 4 : Initialize react native Step 5 :  Go to your any project directory and create new project named FirstProject. Step 6 :  Go to your newly created project directory. Step 7 :  Run Project. Step 8…

Read More Read More

How to split apk in android studio

How to split apk in android studio

Go to build.gradle(app) and paste the highlighted code . that’s all. apply plugin: ‘com.android.application’ android { compileSdkVersion 27 defaultConfig { applicationId “your Application ID” minSdkVersion 21 targetSdkVersion 27 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } splits { abi { enable true reset() include “x86_64″,”x86″,”armeabi”,”armeabi-v7a”,”arm64-v8a”,”mips” universalApk false } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } lintOptions { checkReleaseBuilds false } } ext.densityCodes = [‘armeabi’:1, ‘armeabi-v7a’:2, ‘arm64-v8a’:3,’mips’:4,’x86′:5,’x86_64′:6] import com.android.build.OutputFile android.applicationVariants.all { variant -> variant.outputs.each { output ->…

Read More Read More

Error:java.lang.OutOfMemoryError: Java heap space .

Error:java.lang.OutOfMemoryError: Java heap space .

Problem: Error:java.lang.OutOfMemoryError: Java heap space . Please assign more memory to Gradle in the project’s gradle.properties file. For example, the following line, in the gradle.properties file, sets the maximum Java heap size to 1,024 MB: org.gradle.jvmargs=-Xmx1024m Read Gradle’s configuration guide Read about Java’s heap size   Solution:   Open gradle.properties file from your project tree add this line at the memory allocation line or or or or or Depending on the Memory of your computer. Then Invalidate Caches/Restart project from…

Read More Read More

Android how to remove new line and spaces and all html tags from String

Android how to remove new line and spaces and all html tags from String

Step 1:  compile ‘org.jsoup:jsoup:1.11.3’ add jsonup gradle and sync. Step 2 : create a method public static String html2text(String html) { return Jsoup.parse(html).text(); } Step 3 : implement this String descriptionRawText = “raw text”; String descriptionFinalText = descriptionRawText.replace(“\n”, “”).replaceAll(“\\<[^>]*>”,””).replace(“\r”, “”); String htmlConvertedText = html2text(descriptionFinalText); productDesc.setText(Html.fromHtml(String.valueOf(Html.fromHtml(htmlConvertedText)))); Done 🙂

Android Google map clustering – how to show actual marker in cluster

Android Google map clustering – how to show actual marker in cluster

1 . Create Custom Cluster renderer package com.findbitcoinatm.android.utils; import android.content.Context; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.graphics.drawable.ShapeDrawable; import android.graphics.drawable.shapes.OvalShape; import android.util.SparseArray; import android.view.ViewGroup; import com.findbitcoinatm.android.models.cluster.ATMClusterItems; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.model.BitmapDescriptor; import com.google.android.gms.maps.model.BitmapDescriptorFactory; import com.google.android.gms.maps.model.MarkerOptions; import com.google.maps.android.clustering.Cluster; import com.google.maps.android.clustering.ClusterManager; import com.google.maps.android.clustering.view.DefaultClusterRenderer; import com.google.maps.android.ui.IconGenerator; import com.google.maps.android.ui.SquareTextView; public class MyClusterItemRenderer extends DefaultClusterRenderer<ATMClusterItems> { private final IconGenerator mIconGenerator; private final ShapeDrawable mColoredCircleBackground; private final float mDensity; private SparseArray<BitmapDescriptor> mIcons = new SparseArray(); public MyClusterItemRenderer(Context context, GoogleMap map, ClusterManager<ATMClusterItems> clusterManager) { super(context, map, clusterManager); mIconGenerator…

Read More Read More

Error:Execution failed for task ‘:app:preDebugAndroidTestBuild’. > Conflict with dependency ‘com.android.support:support-annotations’ in project ‘:app’. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.

Error:Execution failed for task ‘:app:preDebugAndroidTestBuild’. > Conflict with dependency ‘com.android.support:support-annotations’ in project ‘:app’. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.

Solution : compile ‘com.android.support:support-annotations:27.1.1’ to gradle(app) and sync . Solved 🙂 Example : apply plugin: ‘com.android.application’ android { compileSdkVersion 26 defaultConfig { applicationId “com.arifhasnat.islamicbooks” minSdkVersion 16 targetSdkVersion 26 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { implementation fileTree(dir: ‘libs’, include: [‘*.jar’]) implementation ‘com.android.support:appcompat-v7:26.1.0’ implementation ‘com.android.support.constraint:constraint-layout:1.1.0’ implementation ‘com.android.support:design:26.1.0’ testImplementation ‘junit:junit:4.12’ androidTestImplementation ‘com.android.support.test:runner:1.0.2’ androidTestImplementation ‘com.android.support.test.espresso:espresso-core:3.0.2’ compile ‘com.android.support:support-annotations:27.1.1’ compile ‘com.github.barteksc:android-pdf-viewer:2.8.2’ }

Android how to add collapsing toolbar with layout body touch collapse and expand

Android how to add collapsing toolbar with layout body touch collapse and expand

1 . <?xml version=”1.0″ encoding=”utf-8″?> <android.support.design.widget.CoordinatorLayout 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=”com.adn.activities.root.HomeActivity”> <android.support.design.widget.AppBarLayout android:id=”@+id/appbar_layout” android:layout_width=”match_parent” android:layout_height=”wrap_content” android:theme=”@style/AppTheme.AppBarOverlay” > <android.support.design.widget.CollapsingToolbarLayout android:id=”@+id/collapsing_toolbar” android:layout_width=”match_parent” android:layout_height=”match_parent” app:layout_scrollFlags=”scroll|exitUntilCollapsed” app:contentScrim=”?attr/colorPrimary” app:expandedTitleMarginStart=”48dp” app:expandedTitleMarginEnd=”64dp” android:fitsSystemWindows=”true” > <LinearLayout android:orientation=”vertical” android:layout_width=”match_parent” android:layout_height=”wrap_content”> <android.support.v7.widget.Toolbar android:id=”@+id/toolbar” android:layout_width=”match_parent” android:layout_height=”?actionBarSize” android:background=”?attr/colorPrimary” app:popupTheme=”@style/AppTheme.PopupOverlay” > <!–<ImageView–> <!–android:src=”@drawable/logo”–> <!–android:layout_width=”@dimen/count_60dp”–> <!–android:layout_height=”wrap_content” />–> </android.support.v7.widget.Toolbar> </LinearLayout> </android.support.design.widget.CollapsingToolbarLayout> <EditText android:id=”@+id/search_bar” android:background=”@drawable/corner_radious” android:layout_width=”match_parent” android:editable=”false” android:layout_height=”@dimen/count_40dp” android:paddingLeft=”@dimen/count_10dp” android:drawableLeft=”@drawable/search_gray_24″ android:hint=”Search for Products, Brands and More ” android:textSize=”@dimen/count_12dp” android:drawablePadding=”@dimen/count_10dp” android:textColorHint=”@color/dark_gray” android:textColor=”@color/dark_gray” android:layout_marginLeft=”@dimen/count_10dp” android:layout_marginRight=”@dimen/count_10dp” android:layout_marginBottom=”@dimen/count_5dp” /> </android.support.design.widget.AppBarLayout> <include layout=”@layout/content_home2″ /> </android.support.design.widget.CoordinatorLayout> 2. In content layout add…

Read More Read More

Android show collapsing toolbar layout title only when collapsed

Android show collapsing toolbar layout title only when collapsed

final CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsingToolbarLayout); AppBarLayout appBarLayout = (AppBarLayout) findViewById(R.id.appBarLayout); appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() { boolean isShow = true; int scrollRange = -1; @Override public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { if (scrollRange == -1) { scrollRange = appBarLayout.getTotalScrollRange(); } if (scrollRange + verticalOffset == 0) { collapsingToolbarLayout.setTitle(“Title”); isShow = true; } else if(isShow) { collapsingToolbarLayout.setTitle(” “); //carefull there should a space between double quote otherwise it wont work isShow = false; } } }); Source : stackoverflow

itunesconnect supported screenshoot sizes

itunesconnect supported screenshoot sizes

The following resolutions are acceptable to iTunes connect: iPhone 3+4 (3.5 Inch) 640 x 960 iPhone 5 (4 Inch) 640 x 1136 iPhone 6 (4.7 Inch) 750 x 1334 iPhone 6 Plus (5.5 Inch) 1242 x 2208 You need the screenshot in this resolution, the phone scales them down to 1080 x 1920 iPhone X 1125 x 2436 iPad (Air and Mini Retina) 1536 x 2048 iPad Pro (12.9 Inch) 2048 x 2732 Apple Watch 312 x 390 pixels (only…

Read More Read More

Android navigation/ toolbar back

Android navigation/ toolbar back

Step one : put these in oncreate method getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true);     @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_details); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); } Step two : Give action to go specific page or actions @Override public boolean onOptionsItemSelected(MenuItem item) { Intent intent = new Intent(fromActivity.this, toActivity.class); startActivity(intent); return super.onOptionsItemSelected(item); } @Override public void onBackPressed() { super.onBackPressed(); Intent intent = new Intent(fromActivity.this, toActivity.class); startActivity(intent); }

SSLcommerz payment gateway integration (Sandbox)

SSLcommerz payment gateway integration (Sandbox)

Step 1 : Go to this link https://developer.sslcommerz.com/registration/ and register . Step 2 : Login account with https://sandbox.sslcommerz.com/manage/ Step 3 : Go to console and click developer tab . you can now download android sdk file . You will find .aar file . Now follow the steps . You also get a manual but it’s not enough for android studio . or Download it from here : ANDROID_190617   Place the ssl-payment-sdk-v4.aar file in your project’s lib folder. To include the SDK file…

Read More Read More

Retrofit take List data as POST request body in android rest api call

Retrofit take List data as POST request body in android rest api call

Step 1 :  create a request model that will take request body data package com.adn.api.order; import com.adn.Model.DBModel.AddToCartProductModel; import com.google.gson.annotations.SerializedName; import java.util.ArrayList; public class Order { @SerializedName(“customer_id”) String customer_id; @SerializedName(“firstname”) String firstname; @SerializedName(“lastname”) String lastname; @SerializedName(“email”) String email; @SerializedName(“products”) ArrayList<AddToCartProductModel> products; @SerializedName(“telephone”) String telephone; @SerializedName(“postcode”) String postcode; @SerializedName(“payment_method”) String payment_method; @SerializedName(“total_price”) String total_price; @SerializedName(“address”) String address; @SerializedName(“city”) String city; @SerializedName(“order_status”) String order_status; //Don’t forget to create/generate the getter and setter] public Order(String customer_id, String firstname, String lastname, String email, ArrayList<AddToCartProductModel> products,…

Read More Read More

How to remote git repository from xCode project completely and create new repository

How to remote git repository from xCode project completely and create new repository

Git keeps all of its files in the .git directory. Just remove that one and init again. If you can’t find it, it’s because it is hidden. In Windows 7, you need to go to your folder, click on Organize on the top left, then click on Folder and search options, then click on the View tab and click on the Show hidden files, folders and drives radio button. On a Mac OS: Open a Terminal (via Spotlight: press CMD + SPACE, type terminal and press Enter) and do this command: defaults write com.apple.finder…

Read More Read More

Rest api development with lumen – part 1 : Environment setup

Rest api development with lumen – part 1 : Environment setup

Step 1 : Open command line tool or terminal for mac/ linux  and run this command for lumen installer . If you have not composer installed then download and install it from here ; https://getcomposer.org/ composer global require “laravel/lumen-installer” Step 2 :   Create a lumen project with following command   composer create-project –prefer-dist laravel/lumen restapi Step 3 :      Go the project directory and run the project  php -S localhost:8000 -t public      Step 4 : Database file setup . Open .env file and setup database file . For mysql it looks like –  If you have no database create database for localhost . You need to install XAMP/WAMP . APP_ENV=local APP_DEBUG=true APP_KEY= APP_TIMEZONE=UTC LOG_CHANNEL=stack LOG_SLACK_WEBHOOK_URL= DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=lumen_api DB_USERNAME=root DB_PASSWORD= CACHE_DRIVER=file QUEUE_DRIVER=sync change the database name , password…

Read More Read More

Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

Sometimes application may be big in execution or heavy that time multidex should be enabled . Here is the full process to enable multidex in android   Enable Multidesk

Android create border radius for Button , Views , EditText and others

Android create border radius for Button , Views , EditText and others

Step – 1: Create xml layout in drawable folder <?xml version=”1.0″ encoding=”utf-8″?> <selector xmlns:android=”http://schemas.android.com/apk/res/android” > <item android:state_pressed=”true” > <shape android:shape=”rectangle” > <corners android:radius=”3dip” /> <stroke android:width=”1dip” android:color=”#5e7974″ /> <gradient android:angle=”-90″ android:startColor=”#345953″ android:endColor=”#689a92″ /> </shape> </item> <item android:state_focused=”true”> <shape android:shape=”rectangle” > <corners android:radius=”3dip” /> <stroke android:width=”1dip” android:color=”#5e7974″ /> <solid android:color=”#58857e”/> </shape> </item> <item > <shape android:shape=”rectangle” > <corners android:radius=”3dip” /> <stroke android:width=”1dip” android:color=”#5e7974″ /> <gradient android:angle=”-90″ android:startColor=”#8dbab3″ android:endColor=”#58857e” /> </shape> </item> </selector> Step 2 : Implement on anywhere like button and…

Read More Read More

Android Fragment basic code structure

Android Fragment basic code structure

public class BasicFragment extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.basic_fragment_layout, container, false); return view; } }

Android custom date picker

Android custom date picker

Step -1 : Create a custom fragment import android.annotation.SuppressLint; import android.app.DatePickerDialog; import android.app.Dialog; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.view.View; import android.widget.DatePicker; import android.widget.EditText; import java.text.SimpleDateFormat; import java.util.Calendar; @SuppressLint(“ValidFragment”) public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener { public static final String DATE_FORMAT = “dd-MM-yyyy”; EditText mView; private DatePickerDialog datepic; public DatePickerFragment(View v) { mView = (EditText) v; } Calendar c; public DatePickerFragment() { } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the current date as the default date in the…

Read More Read More

IOS Swift 3/4 show alert for specific time duration

IOS Swift 3/4 show alert for specific time duration

   let alert = UIAlertController(title: “”, message: “alert disappears after 30 seconds”, preferredStyle: .alert)             self.present(alert, animated: true, completion: nil)             // change to desired number of seconds (in this case3 0 seconds)             let when = DispatchTime.now() + 30             DispatchQueue.main.asyncAfter(deadline: when){                 // your code with delay          …

Read More Read More

Android Beautiful Spinner view without Custom adapter

Android Beautiful Spinner view without Custom adapter

To make this just bind spinner with cardview . and make it like the code bellow . now it will looks beautiful .   <android.support.v7.widget.CardView android:layout_width=”match_parent” android:layout_height=”@dimen/count_40dp” android:layout_marginLeft=”@dimen/count_5dp” android:layout_marginRight=”@dimen/count_5dp” android:layout_marginTop=”@dimen/count_10dp”> <Spinner android:id=”@+id/gender” android:layout_width=”match_parent” android:layout_height=”match_parent” /> </android.support.v7.widget.CardView>

Android Custom spinner .

Android Custom spinner .

Step -1 : Create new Adapter . public class CustomSpinnerAdapter extends BaseAdapter implements SpinnerAdapter { private final Context context; private ArrayList<String> asr; public CustomSpinnerAdapter(Context context1, ArrayList<String> asr) { this.context = context1; this.asr=asr; } public int getCount() { return asr.size(); } public Object getItem(int i) { return asr.get(i); } public long getItemId(int i) { return (long)i; } @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { TextView txt = new TextView(context); txt.setPadding(16, 16, 16, 16); txt.setTextSize(18); txt.setGravity(Gravity.CENTER_VERTICAL); txt.setText(asr.get(position)); txt.setTextColor(Color.parseColor(“#000000”)); return…

Read More Read More

Firebase: A config file was found, but it indicates a project ID “priokotha-92c0e” that you dont appear to have access to. Request access or delete the file in order to proceed with the connection process.

Firebase: A config file was found, but it indicates a project ID “priokotha-92c0e” that you dont appear to have access to. Request access or delete the file in order to proceed with the connection process.

This error will occur if you are signed in to Android Studio and the Firebase Console with different accounts. In Android Studio, click on the small profile icon in the upper right corner to see your sign-in account. Do the same for the Firebase Console tab of your browser. If they are different, sign out and sign in to make them the same.    

ERROR:’keytool’ is not recognized as an internal or external command, operable program or batch file

ERROR:’keytool’ is not recognized as an internal or external command, operable program or batch file

Step 1 : Download JDK : http://www.oracle.com/technetwork/java/javase/downloads/index.html and install it . Step 2 : Set the path on environment path . To do this My Computer – > Properties -> System variable -> Edit Path , click new and past jre bin path location . Check that the directory the keytool executable is in is on your path. (For example, on my Windows 7 machine, it’s in C:\Program Files (x86)\Java\jre6\bin.)   keytool path may be different . find the keytool…

Read More Read More

Android firebase Phone verification authentication – OTP

Android firebase Phone verification authentication – OTP

Step 1 : Go to firebase console . Go SIGN-IN METHOD and enable phone authentication option .   Step 2 : Open your build.gradle (app) and paste this firebase ui gradle and sync . Check firebase version code . It may vary . compile ‘com.firebaseui:firebase-ui-auth:3.1.0’ compile ‘com.google.android.gms:play-services-auth:11.4.2’ Step 3 : private static final int RC_SIGN_IN = 123; Step 4 : Paste this on OnCreate method . FirebaseAuth auth = FirebaseAuth.getInstance(); if (auth.getCurrentUser() != null) { AuthUI.EXTRA_DEFAULT_NATIONAL_NUMBER.toString(); // SavedData.user = auth.getCurrentUser().toString();…

Read More Read More

Error:Execution failed for task ‘:app:transformDexArchiveWithExternalLibsDexMergerForDebug’. > java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

Error:Execution failed for task ‘:app:transformDexArchiveWithExternalLibsDexMergerForDebug’. > java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

It may causes for several reasons – I have found 2 reason and solution .  Problem 1 : If you use firebase service and it’s gradle version are older version . Or google play service , gms service are not updated version that can create this problem . Solution : Update all gradle version updated and same version for firebase . Problem 2 :  If multidex not enabled Solution :  Android Multi-dex Enable  

unable to boot device due to insufficient system resources. xcode

unable to boot device due to insufficient system resources. xcode

Problem : unable to boot device due to insufficient system resources. xcode Please see Simulator Help for information on adjusting system settings to allow more simulated devices to boot at once. maxUserProcs: 709, runningUserProcs: 614, enforcedProcBuffer: 144 Solution : Open Terminal and run the command sudo launchctl limit maxproc 2000 2500  Explanation : xCode restricts to run more device but it has 2000 max device run capability. sudo launchctl limit maxproc [limit for one user] [total limit]

Firebase for android – Insert value as a list data

Firebase for android – Insert value as a list data

Part : one – Go to firebase console and click database . If you want to insert database without authentication then go to database->rules tab and { “rules”: { “.read”: “auth == null”, “.write”: “auth == null” } } Part 2 : Create Model . I used Notes Model /** * Created by ADN Digital on 12/24/2017. */ public class Notes { public String id; public String title; public String description; public String date; public String day; public String currentDate; public…

Read More Read More

Binary Search Algorithm – Deep thinking with Java

Binary Search Algorithm – Deep thinking with Java

import java.util.Scanner;   class BinarySearch { public static void main(String args[]) { int c, first, last, middle, n, search, array[];   Scanner in = new Scanner(System.in); System.out.println(“Enter number of elements”); n = in.nextInt(); array = new int[n];   System.out.println(“Enter ” + n + ” integers”);     for (c = 0; c < n; c++) array = in.nextInt();   System.out.println(“Enter value to find”); search = in.nextInt();   first = 0; last = n – 1; middle = (first + last)/2;…

Read More Read More

Android beautiful dialog and alert libraries

Android beautiful dialog and alert libraries

1 . Lovely dialog is a nice dialog third party android library . There has some good functionality that makes it awesome .   2 . Sweet alert   is also a nice dialog and alert library . It’s also have animation that makes it beautiful .   3 .android material dialog  is now default dialog for android . It’s also simple and nice .    4.  Pretty dilog    is good for it’s nice close button . 5. No Internet Dialog   is very good for…

Read More Read More