Skip to content

Instantly share code, notes, and snippets.

@nahba
nahba / HowToGCM
Last active June 9, 2016 04:48
GCM Integration
1. Get Sender Id (And APIKeyFor ServerSide) From Google Console Project
-------------------Using GCMRegistrar----------------------------------
2. Add GCM.jar To Your Project
3. Add Required Permission Into Manifest
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<permission
android:name="(Your_Package).permission.C2D_MESSAGE"
@nahba
nahba / LocationFetching
Last active June 9, 2016 04:48
Location Fetching Using GooglePlayServices LocationClient
Add GooglePlayService Library To Your Project
Manifest::
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<application ....>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
</application>
@nahba
nahba / Util
Last active June 9, 2016 04:46
General Util Methods
-------Write To File In Append Mode----------
String logDirPath = getApplicationContext().getFilesDir().getAbsolutePath() + File.separator + "Logs"
+ File.separator + "Log.txt";
private void writeToFile(String logFilePath, String whatToWrite) {
try {
if(logFilePath != null && logFilePath.trim().length() > 0) {
SimpleDateFormat format = new SimpleDateFormat("EEE dd/MM/yyyy HH:mm:ss", Locale.US);
String passing = format.format(new Date()) + " " + whatToWrite + "\n";
FileWriter writer = new FileWriter(logFilePath, true);//true FOR APPEND MODE
writer.append(passing);
@nahba
nahba / WhatToCommitForGradleProject
Last active March 3, 2016 05:45
Gradle Project Import Files
Only commit following folders/files when commiting Gradle based project.
Folders:
=======
1) app -> src, build.gradle, proguard-rules.pro
2) gradle -> wrapper -> gradle-wrapper (both)
Files:
=====
1) build.gradle
@nahba
nahba / WirelessInstallationOfAPK
Last active March 3, 2016 05:42
Connect Device And Install APK Wirelessly
$adb tcpip 5555
$adb shell netcfg
$adb connect <DEVICE_IP_ADDRESS>:5555
$adb -s <DEVICE_IP_ADDRESS>:5555 install (ApplicationName).apk
$adb -s <DEVICE_IP_ADDRESS>:5555 usb (Back To USB Debugging) !important
@nahba
nahba / HowToUseGradleProperties
Last active April 8, 2023 13:40
Boost Gradle Build
Put this gradle.properties in your /users/.gradle folder
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
@nahba
nahba / Studio
Created March 10, 2016 06:26
Android Studio Tips
1. Disable components update on first start
disable.android.first.run=true -> bin/idea.properties
@nahba
nahba / WindowManagerOverlay
Last active June 16, 2016 09:12
Add Overlay - API 23
Build Project Using API 23
Manifest Permission:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams windowParams = new WindowManager.LayoutParams(YOUR_DESIRED_WIDTH, YOUR_DESIRED_HEIGHT,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
PixelFormat.TRANSLUCENT);
@nahba
nahba / ProtoBuf
Last active January 2, 2017 06:33
Protobuf Android
1. Add classpath 'com.squareup.wire:wire-compiler:2.2.0' in project (build.gradle)
2. Add dependency compile 'com.squareup.wire:wire-runtime:2.2.0' in app (build.gradle)
3. Sync project
4. Add "wire-compiler-2.2.0-jar-with-dependencies.jar" to your app folder
5. Create src\main\proto\nahba folder
6. Create .proto files as dinosaur.proto and period.proto
7. In Terminal, from app folder run below command
java -jar wire-compiler-2.2.0-jar-with-dependencies.jar --proto_path=src/main/proto --java_out=src/main/java
8. This will create all required Java Classes
9. Access in your activity/fragment as below
@nahba
nahba / DexCount
Created March 21, 2017 05:49
Enable DexCount In Android
1. Build your project
2. Check "Run" console to see Methods count
Total methods in app-debug.apk: 23265 (35.50% used)
Total fields in app-debug.apk: 11160 (17.03% used)
Methods remaining in app-debug.apk: 42270
Fields remaining in app-debug.apk: 54375
3. To see graph
app/build/outputs/dexcount