Apache License 2.0

项目介绍

nisrulz/easydeviceinfo 是一个托管在 GitHub 上的开源项目,主要使用 Java 编写,采用 Apache License 2.0 许可证,目前获得 1.8k 个 Star、221 次 Fork。

仓库全名
nisrulz/easydeviceinfo
开源许可证
Apache License 2.0
Star 数
1.8k
Fork 数
221
未关闭 Issue
7

README 摘要

EasyDeviceInfo Android library to get device information in a super easy way. The library is built for simplicity and approachability. It not only eliminates most boilerplate code for dealing with device information, but also provides an easy and simple API to retrieve them Also featured in Awesome Android Newsletter #Issue 9 , Changelog Weekly Issue #114 Built with ❤︎ by Nishant Srivastava and contributors Note…

完整内容见 GitHub 原始 README 或本页 。

常见问题

easydeviceinfo 用什么语言开发?

主要使用 Java 编写,采用 Apache License 2.0 许可证,目前有 1.8k 个 Star。

easydeviceinfo 可以免费商用吗?

仓库采用 Apache License 2.0 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 easydeviceinfo 的源码?

可以直接克隆仓库:git clone https://github.com/nisrulz/easydeviceinfo.git,默认分支为 master;安装与运行步骤见仓库 README。

easydeviceinfo 最近还在维护吗?

仓库最近一次更新为 2024年7月13日,当前有 7 个未关闭 Issue;Star 数为 1.8k,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

:iphone: [Android Library] Get device information in a super easy way.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

语言占比

Java
Kotlin

Release

README

EasyDeviceInfo

Android library to get device information in a super easy way.

The library is built for simplicity and approachability. It not only eliminates most boilerplate code for dealing with device information, but also provides an easy and simple API to retrieve them


Built with ❤︎ by Nishant Srivastava and contributors


Note

EasyDeviceInfo is split into multiple module-libraries , v2.2.0 onwards. Use the appropriate one as per your requirement.

Changelog

Starting with 1.1.8, Changes exist in the releases tab.

Including in your project

EasyDeviceInfo is available in the Jcenter, so getting it as simple as adding it as a dependency.

dependencies {
    def easyDeviceInfoVersion = {latest version}

    // Base + Ads Bundled Library
    implementation "com.github.nisrulz:easydeviceinfo:$easyDeviceInfoVersion"

    // Base Composite
    implementation "com.github.nisrulz:easydeviceinfo-base:$easyDeviceInfoVersion"

    // Ads Composite
    implementation "com.github.nisrulz:easydeviceinfo-ads:$easyDeviceInfoVersion"
}

where {latest version} corresponds to published version in Jcenter

  • easydeviceinfo - Jcenter
  • easydeviceinfo-ads - Jcenter
  • easydeviceinfo-base - Jcenter

Usage Docs/Wiki

Introducing Mods in EasyDeviceInfo v2!

Mods or Modules are the new way to retrieve information. They let you get information in a very segmented manner and the best part is you only initialize the Mods you need in your project. Pretty rad , eh ? I know.

The whole api has been reworked in v2.x.x , however the functions remain the same, hence now you need to migrate to v2.x.x from 1.x.x.

Simple example

Now to use them, create an instance of one of the Mods ( Easy*Mod class ), i.e EasyConfigMod

EasyConfigMod easyConfigMod = new EasyConfigMod(context);

Next call an available function on the easyConfigMod instance such as

String time_in_ms= String.valueOf(easyConfigMod.getTime());

Now each Mods has a certain set of functions you can call on them to retrieve device information. i.e for EasyConfigMod

Value functionName returns
Is running on emulator isRunningOnEmulator() boolean
Time (ms) getTime() long
Formatted Time (24Hr) getFormattedTime() String
Up Time (ms) getUpTime() long
Formatted Up Time (24Hr) getFormattedUpTime() String
Android Studio support
  • Include a required permission check

    PermissionCheck

  • Setup all constants returned in a switch statement

    SetupSwitch

    This applies to all annotations bundled with easydeviceinfo. Checkout the wiki to see where these annotations can be applied.

    • @RingerMode
    • @DeviceType
    • @PhoneType
    • @OrientationType
    • @NetworkType
    • @BatteryHealth
    • @ChargingVia

:page_with_curl: For more info , check the Wiki Docs

Pull Requests

I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request. Here are some basic rules to follow to ensure timely addition of your request:

  1. Match coding style (braces, spacing, etc.) This is best achieved using CMD+Option+L (Reformat code) on Mac (not sure for Windows) with Android Studio defaults. This project uses a modified version of Grandcentrix’s code style, so please use the same when editing this project.
  2. If its a feature, bugfix, or anything please only change code to what you specify.
  3. Please keep PR titles easy to read and descriptive of changes, this will make them easier to merge :)
  4. Pull requests must be made against develop branch. Any other branch (unless specified by the maintainers) will get rejected.
  5. Check for existing issues first, before filing an issue.
  6. Have fun!

Apps using EasyDeviceInfo

If you are using EasyDeviceInfo in your app and would like to be listed here, please let me know by opening a new issue!

Other apps using EasyDeviceInfo, via AppBrain Stats

Author & support

This project was created by Nishant Srivastava but hopefully developed and maintained by many others. See the the list of contributors here.

If you appreciate my work, consider buying me a cup of :coffee: to keep me recharged :metal:

  • PayPal
  • Bitcoin Address: 13PjuJcfVW2Ad81fawqwLtku4bZLv1AxCL

I love using my work and I’m available for contract work. Freelancing helps to maintain and keep my open source projects up to date!

评论

暂无评论