UReflection library
A light-weight android library that can be quickly integrated into any app to use android utils.
Example Uses
- Check gps enabled.
- Check internet connection.
- Check internet available.
- Check is wifi.
- Check is fast mobile network connection.
- Get wifi scan.
- Get network type name.
- Get current wifi network info.
- Md5 hash.
- Sha1 hash.
- Base64 encryption.
- Base64 decryption.
- Get app url on play store.
- Get country code.
- Get current date.
- Get current time.
- Get app hash key.
- Get device language.
- Get version name.
- Get version code.
- Get status bar height.
- Get navigation bar height.
- Get screen height.
- Get screen width.
- Get date after some days.
- Get day of week.
- Get week of month.
- Get font from asset.
- Inflate xml layout.
- Read text file from asset.
Example UReflection:
Application Class
@Override
public void onCreate() {
super.onCreate();
UReflection.init(this);
}
Java class
@AppUrl
String appUrl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
UReflection.bind(this);
}
Example bind by variables name:
JAVA
@AppUrl
String appUrl;
@IsConnected
boolean isConnected;
@Md5
String md5 = "Mohamed";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
UReflection.bind(this);
md5 = "Hamdan"
UReflection.bind(this, "md5");
Log.e(TAG, md5);
// multi variables
UReflection.bind(this, "md5", "isConnected", "appUrl");
}
How do I get set up?
Project-level build.gradle (<project>/build.gradle):
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
App-level build.gradle (<project>/<app-module>/build.gradle):
compile 'com.github.mnayef95.UReflection:annotations:v1.2.1'
compile 'com.github.mnayef95.UReflection:utils:v1.2.1'
annotationProcessor 'com.github.mnayef95.UReflection:compiler:v1.2.1'
Support annotations
@AppUrl()
@Base64Decode(Flags)
@Base64Encode(Flags)
@CountryCode()
@CurrentDate(Format)
@CurrentTime
@DateAfter(Days)
@DayOfWeek()
@DeviceLanguage()
@Font(Asset path)
@GpsEnabled()
@HashKey()
@Inflate(Xml layout)
@IsConnected()
@IsFastNetwork()
@IsNetworkAvailable()
@IsWifi()
@Md5()
@NavBarHeight()
@NetworkTypeName()
@ScreenHeight()
@ScreenWidth()
@Sha1()
@StatusBarHeight()
@TextFromAsset(Asset path)
@VersionCode()
@VersionName()
@WeekOfMonth()
@WifiInfo()
@WifiScanResults()