El tiempo Android APP (a) el desarrollo de la preparación

El tiempo APP incluye posicionamiento automático, comprobar el tiempo, previsión del tiempo, el índice de vivir, Día, programas de dibujos animados (utilizando la API de producción Baidu y Posicionamiento de tiempo y el viento)

Aquí Insertar imagen Descripción
Escanear el código QR para descargar e instalar.

El proyecto se divide en nueve blog de artículo escrito, por favor continúe leyendo para lograr. Fuente proyecto puse un blog en la última final.

Porque las palabras también son mucho, por lo que el capítulo para escribir, si realmente quiere saber, por favor, lea uno de uno, y lograr su propia, y de código fuente supuesto que se proyectará hacia fuera, usted puede ir a descargue y ejecute Tengo la intención de hacer.

prefacio

Como se suele decir, un perno, por lo que no es un buen tiempo es importante, en los tiempos antiguos, la gente está llena de la mirada temporada meteo buscar en el cielo, en la dinastía Xia y Shang, la gente ha comenzado a participar en la producción agrícola, depende de las necesidades de tiempo, sólo hay que dejar que la previsión del tiempo se convierte. Sin embargo, no había ciencia meteorológica, la gente mira por sí solos días de adivinación para observar y predecir el tiempo. Por supuesto, la precisión de los pronósticos se desconoce.

En primer poemario de China "Libro de los Cantares", un registro de los pueblos antiguos ver la experiencia cotidiana.

"Libro de los Cantares" "Bei Feng Viento del Norte": ".. Su viento frío del norte, la lluvia y la nieve al norte de su fuerte caída de la lluvia ...... Jie, lluvia Fei y la nieve ......" fuerte caída de la lluvia, gran aguanieve; Jie, enfermedad viento. Fei, la lluvia y la nieve arremolinada. Esto significa que el frío del norte que sopla el viento, el viento, la lluvia y la nieve también trajo grandes. Esta no es la historia del aire frío describió por primera vez?

La experiencia es la base principal de la antigua previsión meteorológica. Lejos de la dinastía Han, ha habido casos de la utilización de cadenas de humedad principio de detección de la lluvia o con sol pronóstico. En Louyuan Li Yuan y Ming Tian "cinco elementos", un libro también dijo: Si de buena calidad limpieza en seco cuerdas sueltas automáticas repente amplia, es porque el amor la cama húmeda de piano, este fenómeno, que indica el día lluvia. También dijo que el tono de la cuerda de banda genera si la transferencia no es bueno, también hay un presagio de la lluvia, que está en línea con la razón científica. (PD: Este texto anterior es claro que encuentro a través de Internet, a continuación, Ctrl + C Ctrl V encanta ver que se ve, no se ven a bajar.), Mientras que confían en el poder de la ciencia y la tecnología modernas, y hoy nos fijamos en el código es confiar en el clima, que se introduce.

En primer lugar, el desarrollo listo

1. Los datos y el pensamiento lógico

El tiempo más importante APP son los datos, el primero es sus datos de posición, forma de obtener, para obtener la localización exacta a través de teléfono móvil de localización GPS automática y luego acceder a la interfaz API de tiempo a través de esta posición, los datos a continuación, la interfaz devuelve los datos, se le devolverá analizar el contenido que desea entrar en la renderización de páginas, también hay que llevar a cabo otras ciudades consulta de datos meteorológicos, esta vez es necesario obtener datos de las ciudades de provincia y condados en el país, después de la ciudad fue una elección, una vez más, consultar el clima , con lo que nuestra aplicación se ha completado, por supuesto, la optimización del espacio, que poco a poco escribimos durante el desarrollo.

2. Baidu representan los desarrolladores de aplicaciones para crear aplicaciones con

工欲善其事必先利其器 suele decir, no se puede fabricar ladrillos sin paja, decir que el viejo dicho, bien preparado antes de hacer nada, es más o desarrollar un dolor de cabeza, no pensar en qué hacer, que se especificarán en la previa Ideas para poner en práctica paso a paso, el proceso es muy tedioso y aburrido, pero finalmente terminó después de ejecutar un éxito, es muy gratificante, los programadores necesitan un sentido de realización de este tipo de cosas, que le permite mantener su mente activa y confiada .

Baidu mapa plataforma abierta

Aquí Insertar imagen DescripciónDespués de ir a través de QQ, microblogging, micro-canales, por lo que puede rápida Iniciar sesión Registro omitir este paso, ahorrando tiempo. Yo uso el inicio de sesión QQ. → entrar en la gestión de las aplicaciones de la consola después de una conexión exitosa → Aplicaciones → Crear mi aplicación
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
aquí requiere tres datos, versión de depuración de la clave secreta, suelte las teclas, y el nombre del paquete de aplicaciones;
Aquí explicamos cómo obtener uno por uno,

① obtener el nombre del paquete de aplicaciones

En primer lugar crear un proyecto para el trabajo,
Archivo → Nuevo → Nuevo proyecto
Aquí Insertar imagen Descripción
por defecto es seleccionar Actividad vacío (actividad vacío), no cambie esto, haga clic en el botón Siguiente para
Aquí Insertar imagen Descripción
considerar seriamente la tabla de abajo para completar la información de acuerdo con su información, no hay es el problema en Finalizar para crear el proyecto.
Aquí Insertar imagen Descripción
Abra el archivo AndroidManifest.xml para copiar el nombre del paquete después de crear el proyecto, a Baidu plataforma abierta en Pegar en el registro,
Aquí Insertar imagen Descripción

A continuación, se ejecuta en el teléfono, cuando vea esta pantalla cuando:
Aquí Insertar imagen Descripción
se le muestra el entorno de prueba actual no es ningún problema, hay una versión de prueba problema, porque eso es parte de la instalación a través de la versión de depuración USB, y entonces se puede obtener la versión de desarrollo SHA1 una

② obtener Edición SHA1 desarrollador

Haga clic en la barra lateral derecha de GradleAplicaciónTareasAndroid → doble clic signingReport
Aquí Insertar imagen Descripción
miramos un registro detallado
Aquí Insertar imagen Descripción
de este lugar no se ven mal, o si se produce un error inesperado, no hay problema con el fin de volver, en la carretera por delante para pavimentar, no descuidado. Todo el mundo genera aquí la clave secreta es único, así que no me copia con su propio SHA1 liberación generación, con copia a la aplicación de creación de la página web anterior.

③ obtener SHA1 liberación

Generar → Generar Firmado Bundle o APK
Aquí Insertar imagen Descripción
y seleccionar el archivo APK , la siguiente Siguiente
Aquí Insertar imagen Descripción
no hay ninguna clave secreta, es necesario crear una nueva clave secreta, haga clic en Crear nuevo ...
Aquí Insertar imagen Descripción
primer proyecto JKS para crear un archivo
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
llamado Puedo usar el GoodWeather , es jks generados archivo es GoodWeather.jks , y luego permiso ,
Aquí Insertar imagen Descripción
se puede establecer la misma contraseña para demostración hablando, esto reducirá sus errores, lo mejor es establecer una contraseña que tiene un punto de memoria, o que se olvide de volver a la vez más problemas (PD: he experimentado este enlace), Luego haga clic en OK , por lo que habrá un indicador de
Aquí Insertar imagen Descripción
que los medios que hacen estallar para decirle, así que hay que crear teclas no cumplen con los estándares de hoy en día, pero todavía se puede crear, no tengo la versión de impresión AS2.X del tiempo esto crea ningún problema, haga clic en OK para continuar.

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Por encima hay un lugar para cambiar es la ubicación del archivo APK generado, no quiero que genere el archivo predeterminado en el interior de la carpeta del proyecto, ya que no es conveniente para encontrar, hay una razón por la que es limpia Proyecto cuando se borrará el archivo APK, independientemente de depuración o versión, haga clic en la pequeña modificación de ruta de la carpeta
Aquí Insertar imagen Descripción
puede ver, puse en la posición y simplemente he generado JKS es el mismo nivel, y luego crear una carpeta que se utiliza para almacenar archivos APK liberación GoodWeather.
Aquí Insertar imagen Descripción
Haga clic en Finalizar
Aquí Insertar imagen Descripción
y otra barra de progreso para terminar creado ahora.
Aquí Insertar imagen Descripción
Esta vez el APK se crea correctamente, puede abrir la carpeta para ver esto APK

Aquí Insertar imagen Descripción
Esta es la dirección a la que generó el archivo APK. El establecimiento de caminos en frente de su propio tema. A continuación, introduzca Terminal herramienta para introducir comandos y como se muestra jks ruta de almacenamiento
Aquí Insertar imagen Descripción

//如果你前面的步骤和我一模一样的话,这里你就可以复制粘贴,不一样的话就修改jks的路径就可以了
keytool -list -v -keystore E:\APK\GoodWeather.jks

Después de introducir esta línea de comandos retornos de carro le permitirá introducir una contraseña, la contraseña es la creación de la clave secreta antes de la entrada del proceso no se puede ver la contraseña, el cursor no se mueve, pero no se preocupe, la entrada correcta después del retorno de carro en el lo

Aquí Insertar imagen Descripción
La liberación de SHA1 copiado, crear su solicitud completa
Aquí Insertar imagen Descripción
presentada

3. Configuración de la aplicación

Baidu descarga ① Posicionamiento SDK

Aquí Insertar imagen Descripción
Clic en los documentos de desarrollo Selección Androidd Posicionamiento SDK
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Descargar el paquete SDK de
Aquí Insertar imagen Descripción
seleccionar la posición de base, y después hacia abajo, descarga SDK
Aquí Insertar imagen Descripción
Después de la descarga, se verá que algunos archivos
Aquí Insertar imagen Descripción

② Posicionamiento SDK configuración Baidu

A continuación, nos fijamos en la elaboración de directrices
Aquí Insertar imagen Descripción
copia ahora para extraer del archivo a su proyecto dentro del libs carpeta
Aquí Insertar imagen Descripción

archivo de elemento de configuración Build.gradle, siempre androide {} cierre sourceSets ,

sourceSets{
        main{
                 jniLibs.srcDir 'libs'
                 jni.srcDirs = []    //disable automatic ndk-build
         }
}

No comprender la configuración anteriormente con referencia a la figura dispuesto de tal manera (PS: Creo más detalles de blogs son un poco largo aliento)
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Hay una cosa a destacar es que si se trata de build.gradle del proyecto de perfil, o proyecto build.gradle, lo que requeriría cambios aparezcan Sincronizar ahora sincronización los cambios en la configuración, de lo contrario su cambio no es válida, puede tocar entonces progresará barra en la parte inferior, después de la finalización de la configuración se haga efectiva,
Aquí Insertar imagen Descripción
el frasco puede ser ampliado para explicar la configuración surta efecto, el siguiente paso es usar aplicación generada por el AK que crea,
en su AndroidManifest.xml (perfil) colocado

<meta-data
    android:name="com.baidu.lbsapi.API_KEY"
    android:value="AK" >
</meta-data>

El AK se mencionó antes,
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
el siguiente paso es para añadir servicios y permisos, y
utilizando el SDK de posicionamiento, etiqueta de aplicación a ser declarado en componentes de servicio archivo AndroidManifest.xml, cada aplicación tiene su propio servicio de posicionamiento separado, el código es como sigue:

		<!--百度定位服务  这个服务也是放在application标签下的-->
        <service
            android:name="com.baidu.location.f"
            android:enabled="true"
            android:process=":remote" /> 

Además de agregar componente de servicio externo, utilizando las necesidades de posicionamiento SDK para agregar los siguientes privilegios:


	<!--以下权限与application标签是平级的-->
	<!-- 这个权限用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!-- 这个权限用于访问GPS定位-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- 访问网络,网络定位需要上网-->
    <uses-permission android:name="android.permission.INTERNET" />

Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción

4. Gestión de Derechos (fácil de entender)

El permiso sólo se requiere configuración estática antes de poder utilizar Android6.0, y después de 6,0 requiere el permiso aplicación dinámica,
Google propuso correr mecanismo de gestión de derechos en el Android 6.0, con anterioridad a Android 6.0, permisos se aplican sólo se requiere en AndroidManifest. lista XML puede ser tan fácilmente causa algunos riesgos de seguridad, por lo tanto, cuando Android 6.0, Google con el fin de proteger mejor a los derechos de privacidad de los usuarios propuesto un nuevo mecanismo de gestión, y se divide en dos categorías:

① normal permisos (permiso general)

autoridad general generalmente no implica la privacidad del usuario, los usuarios no necesitan autorización, como el teléfono vibra, redes de acceso;

② Permisos Peligrosas (permisos peligrosas)

los derechos son peligrosos se refiere en general a la privacidad del usuario, los usuarios necesitan autorización (aplicación dinámica), como el estado de la lectura de la tarjeta SIM, acceso a la libreta de direcciones, lector de tarjetas SD y así sucesivamente. Al mismo tiempo autoridad peligroso se divide en varios grupos de derechos, un grupo de derechos, siempre y cuando hay una solicitud por la autoridad, toda la autoridad luego arrastrando los pies a saber, a través de la (actualmente esto).

A continuación, instale el plug-AS

Archivo → Configuración → Plug-ins y entrar en el Android butterknife Zelezny encontrar este plugin después de la instalación.
Con Aplicación Notas butterknife, no escribir desde findViewById, pensó que era grande. Seleccione el diseño de XML en la actividad, Fragmento, adaptador de Identificación del recurso se genera automáticamente butterknife comentario.
Aquí Insertar imagen Descripción
Después de instalar el plug-AS necesita reiniciarlo,
Aquí Insertar imagen Descripción

Después del reinicio, iniciar la configuración de encontrar un módulo adicional
en las obras dentro build.gradle más
Aquí Insertar imagen Descripción
build.gradle Código:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        //新增
        mavenCentral()
        jcenter()
        
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'
        //新增
        classpath 'com.jakewharton:butterknife-gradle-plugin:10.1.0'
        
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        //新增
        maven { url "https://jitpack.io" }
        //新增
        mavenCentral()

        google()
        jcenter()
        
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

A continuación, dentro del proyecto build.gradle
añadió cierre androide siguiente código:

compileOptions {//指定使用的JDK1.8
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }

dependencias de cierre que sigue el código dependiente añadidos

	//butterknife  绑定视图依赖BindView,告别findById,不过你还得安装一个butterknife插件才行
    implementation 'com.jakewharton:butterknife:10.1.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
    //Google Material控件,以及迁移到AndroidX下一些控件的依赖
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
    implementation 'androidx.annotation:annotation:1.1.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'

    //RecyclerView最好的适配器,让你的适配器一目了然,告别代码冗余
    implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'

    //权限请求框架
    implementation 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation "io.reactivex.rxjava2:rxjava:2.0.0"
    //状态栏
    implementation 'com.readystatesoftware.systembartint:systembartint:1.0.3'
    //支持okhttp
    implementation 'com.squareup.okhttp3:okhttp:3.8.1'
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'

Luego de sincronización de bits de sincronización

Ahora el trabajo de preparación básica se realiza, se inicia la localización de ella! (PS: No se puede esperar que no es? Decir que realmente tiene que ver esto no se sentía cansado de él? De todos modos, la gente está cansada de la escritura)

Publicado 51 artículos originales · ganado elogios 17 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/qq_38436214/article/details/105204552
Recomendado
Clasificación