WEB技术

Android相关

PHPer 2018-02-10 2568 0 0
这里整理一些更Android有关的内容。

这里整理一些更Android有关的内容。...

立即注册

更新于:2018-02-13 10:20:49
    您需要登录后才可以评论。 立即注册

    2021年安装Android Studio心得

    2018年时安装过Android Studio 3.0,当时还做了一个记录,但是那个记录有些问题,2021年2月再装时遇到了新的问题,本来打算就安装Android Studio 3.0,后面装了各种问题,于是决定安装最新版的,安装最新版本的Android Studio 4.1,又遇到了问题,就是安装Android SDK后,发现很多版本都不能安装,一开始以为都不能安装,因为没有看懂提示未明白不能安装的原因,以为是因为像之前那样是网络访问下载的源有问题。选择安装时,安装按钮install是灰色不能安装的。于是以为SDK都不能安装,后来发现有些可以安装,再之后遇到Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/4.1.2/gradle-4.1.2.pom'. Received status code 400 from server: Bad Request。再网上找到下面办法关闭了代理之后,发现基本都可以安装了。(注:2018年我是开了代理,用国内的源安装的,因为当时不开代理无法安装,于是以为现在2021还是这样,结果被坑了至少8小时 20210222)...

    立即注册
    更新于:2021-12-19 20:56:51

    安装Android Studio 3.0

    此内容已经过时,安装Android Studio请查看最新的安装Android Studio心得。20210222

    依赖关系:Android Studio 依赖 Android SDK,Android SDK 依赖 JDK 。

    所以最好先安装JDK,下载地址

    http://www.oracle.com/technetwork/java/javase/down...

    安装好后再安装Android SDK(windows推荐选择exe安装版的)(注意安装路径不要包含空格),下载地址

    http://tools.android-studio.org/index.php/sdk

    安装的其实是连带了Android SDK Tools的,然后打开Android SDK Tools里的SDK Manager,下载必要的Packages(包),因为国内大防火墙的原因,要用国内镜来下载这些包。

    Android SDK在线更新镜像服务器:

    大连东软信息学院镜像服务器地址:

    mirrors.neusoft.edu.cn 端口:80

    腾讯Bugly镜像...

    立即注册
    更新于:2021-02-22 23:30:52

    使用Android模拟器时遇到的问题

    启动模拟器时报的错。[2018-02-11 10:06:17 - Emulator] I/O warning : failed to load external entity "file:/C:/Users/Administrator/.AndroidStudio3.0/config/options/...

    启动模拟器时报的错。...

    立即注册
    更新于:2020-04-06 21:54:26

    Android studio出现Error:failed to find target android-19或android-26等等。

    Android Studio中出现Error:failed to find target android-19是因为没有安装Android SDK Platform 19(Android 4.4.2 API 19),去按照提示安装好即可消除此错误。同...


    Android Studio中出现Error:failed to find target android-19

    是因为没有安装Android SDK Platform 19(Android 4.4.2 API 19),去按照提示安装好即可消除此错误。...

    立即注册
    更新于:2018-02-11 15:02:09

    Android studio出现Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Reques的解决办法

    最近更新了一下Android Studio,在导入新项目之后出现Error:Unable to tunnel through proxy. Proxy returns “HTTP/1.1 400 Bad Request”的错误,如下图所示:经过检...

    最近更新了一下Android Studio,在导入新项目之后出现Error:Unable to tunnel through proxy. Proxy returns “HTTP/1.1 400 Bad Request”的错误,如下图所示:

    e2e6a54bd8.png

    经过检查后发现这里是丢失了android studio的gradle目录,下面总结一下我的解决方案:
    1、设置:settings->Build,Execution,Deploymnet->Gradle

    909803-20170309202921188-507533683.png

    532d52d05f.png...

    立即注册
    更新于:2018-02-11 14:20:36

    去掉Android新建项目的顶部标题-application:Theme

    原Styles.xml <resources> <!-- Base application theme. --> <style n...

    原Styles.xml

    <resources>  
        <!-- Base application theme. -->  
        <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">  
            <!-- Customize your theme here. -->  
            <item name="colorPrimary">@color/colorPrimary</item>  
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>  
            <item name="colorAccent">@color/colorAccent</item>  
        </style>  
    </resources> 

    修改后Styles.xml:


    <resources>  
      
        <!-- Base application theme. -->  
        <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">  
            <!-- Customize your theme here. -->  
            <item name="colorPrimary">@color/colorPrimary</item>  
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>  
            <item name="colorAccent">@color/colorAccent</item>  
        </style>  
      
    </resources>  
    

    关键就是把: parent="Theme.AppCompat.Light.DarkActionBar" 改成 parent="Theme.AppCompat.Light.NoActionBar"。...

    立即注册
    更新于:2018-02-11 16:49:42

    colorAccent,colorPrimary,colorPrimaryDark等含义

    伴随Android5.0+之后,除了新增一些ToolBar、recyclerview、cardview等控件,MD的设计,App样式也改变了一些。 http://blog.csdn.net/f917386389/article/details/5...

    伴随Android5.0+之后,除了新增一些ToolBar、recyclerview、cardview等控件,MD的设计,App样式也改变了一些。
    a491011d65_normal.png...

    立即注册
    更新于:2018-02-11 17:52:57

    网站(WebApp程序)打包成手机App的APK文件方法,网站生成app的方法

    首先安装Android Studio 3.0,具体方法参见 http://wokan.chawen.org/post/139 先新建一个空白项目。 (2022年6月更新)

    首先安装Android Studio 3.0,具体方法参见 http://wokan.chawen.org/post/139

    先新建一个空白项目。

    227e192df3-screenshot20220612230145_normal.jpg

    之后要勾选Use legacy android.support libraries ,否则不支持android.support.v7.app.AppCompatActivity

    9636ce031b-screenshot20220612230249_normal.jpg

    下面是必要的更改:

    更改MainActivity.java文件的代码

    package org.chawen.wokan;//这里更改成你自己的包名
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    public class MainActivity extends AppCompatActivity {
        private WebView webView;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            init();
        }
        private void init(){
            webView = findViewById(R.id.webView);
            //启用支持javascript
            WebSettings settings = webView.getSettings();
            settings.setJavaScriptEnabled(true);
            webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//优先用缓存
            //webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);//不使用缓存
            //WebView加载web资源
            webView.loadUrl("http://wokan.chawen.org");//这里填写你自己的网址
            //覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开
            webView.setWebViewClient(new WebViewClient(){
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    // TODO Auto-generated method stub
                    //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
                    view.loadUrl(url);
                    return true;
                }
            });
        }
        //改写物理按键——返回的逻辑,希望浏览的网页后退而不是退出浏览器
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
            if(keyCode== KeyEvent.KEYCODE_BACK)
            {
                if(webView.canGoBack())
                {
                    webView.goBack();//返回上一页面
                    return true;
                }
                else
                {
                    System.exit(0);//退出程序
                }
            }
            return super.onKeyDown(keyCode, event);
        }
    }

    修改AndroidManifest.xml,增加允许用户internet访问和始终竖屏,

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="org.chawen.wokan">
        <uses-permission android:name="android.permission.INTERNET" />
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity" android:screenOrientation="portrait">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    </manifest>
    

    更改layout/activity_main.xml代码,tools:context="org.chawen.wokan.MainActivity","org.chawen.wokan"更改成自己的包名。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="0dp"
        android:paddingLeft="0dp"
        android:paddingRight="0dp"
        android:paddingTop="0dp"
        tools:context="org.chawen.wokan.MainActivity">
    
        <WebView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/webView"
            />
    </RelativeLayout>

    找到文件“build.gradle(Module:app)”,修改applicationId即应用ID,可以根据自己的网站或公司命名。同时修改versionName 版本号。 ...

    立即注册
    更新于:2022-06-13 08:52:47

    安装Android Studio3 ,新建项目后有提示ERROR: Could not install Gradle distribution from

    ERROR: Could not install Gradle distribution from https://services.gradle.org/distributions/gradle-5.4.1-all.zip

    错误原因:是由于首次安装,AndroidStudio需要初始化,或导入了其它项目后,需要下载gradle压缩包,但在下载的过程中,遇到了网络阻塞,导致下载超时而报错。

    解决方案:直接手动下载gradle-5.4.1-all.zip
    ...

    立即注册
    更新于:2021-02-21 17:21:55

    Android Studio 遇到an existing android sdk was detected 报错

    https://stackoverflow.com/questions/40148018/a-valid-android-sdk-could-not-be-found-an-existing-sdk-with-platform-tools-and/41174536


    Go toTools > Android > Android SDK Manager...

    Inside of Android SDK Manager you need to update the following tools

    • Android SDK Tools
    • Android SDK Platform-tools

    You also might want to install API 25, API 24 and API 23 SDK platforms. Also if you plan to use the Google Emulator install some relevant x86/x86_64 System images....

    立即注册
    更新于:2021-02-22 13:01:10

    Gradle build 报错 Could not GET ....:Received status code 400 from server: Bad Request

    Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.2/gradle-3.1.2.pom'. Received status code 400 from server: Bad Request。

    全部错误是这样的:

    Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.2/gradle-3.1.2.pom'. Received status code 400 from server: Bad Request。

    遇到这个错了以后,我先后做了以下尝试:

    • 手动下载确认链接无误。
    • 查询400 code,意思大概是客户端请求语法问题或者参数有问题。这样就很有可能是代理出问题了。
    • 关闭了VPN,关闭Android Studio的代理,全部无效。
    • ping dl.google.com 没问题。
    • 重装Android Studio,删除所有配置文件,无效。
    • 建立新的空的工程无效。
    • 确认执行build命令的主体是gradle。那么可能是gradle配置了错误的代理?那么gradle的代理在哪里配置呢??

    最后这一步拯救了浪费了一整个下午排错的我。所以最后我遇到的问题是:...

    立即注册
    更新于:2021-02-22 23:15:25

    net::ERR_CLEARTEXT_NOT_PERMITTED Android9.0无法加载url

    https://blog.csdn.net/qq_33721320/article/details/84400825

    今天无意间用了小米9,测试了WebView打开的一些链接,在其他的手机上(系统8.0以下)都是正常可以打开链接。
    然后定位到问题所在,记录一下net::ERR_CLEARTEXT_NOT_PERMITTED的原因,如下:
    47722d1da4_normal.png
    从Android 9.0(API级别28)开始,默认情况下禁用明文支持。因此http的url均无法在webview中加载

    附上我使用的解决办法:
    在manifest 中application节点添加

    android:usesCleartextTraffic="true"
    
    • 1

    添加后如下:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest ...>
        <uses-permission android:name="android.permission.INTERNET" />
        <application
            ...
            android:usesCleartextTraffic="true"
            ...>
            ...
        </application>
    </manifest>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    附上链接:https://stackoverflow.com/questions/45940861/android-8-cleartext-http-traffic-not-permitted...

    立即注册
    更新于:2021-02-23 03:16:21

    android studio 模拟器的安装及运行app程序(invalid resource directory name)

    invalid resource directory name Session 'app': Installation did not succeed.The application could not be installed: INSTALL FAILED I

    invalid resource directory name

    android的res目录是固定的,只能是下面的几种,如果加了其他的目录,它会报‘invalid resource directory name'的错误,其实加了其它系统不认的目录...

    立即注册
    更新于:2022-06-20 10:49:37

    2022年4月安装 Android Studio

    依赖关系:Android Studio 依赖 Android SDK,Android SDK 依赖 JDK 。

    所以最好先安装JDK,下载地址

    http://www.oracle.com/technetwork/java/javase/down...

    安装好后再安装Android SDK(windows推荐选择exe安装版的)(注意安装路径不要包含空格),下载地址

    http://tools.android-studio.org/index.php/sdk

    安装好了JDK和Android SDK,再安装Android Studio(去官网下载或者在百度上找),

    如果没有安装Android SDK

    运行时会提示:Unable to access Android SDK add-on list

    742df1ae8b-qq-jie-tu20220406181418_normal.jpg

    于是配置Proxy,

    mirrors.neusoft.edu.cn 端口:80

    9d875e3e5e-qq-jie-tu20220406182101_normal.jpg

    之后继续安装提示:SDK emulator directory is missing

    eb861a9895-a7e58d8906b982057ca1cbb35a70dd54091bc8e4_normal.png

    安装的其实是连带了Android SDK Tools的,然后打开Android SDK Tools里的SDK Manager,下载必要的Packages(包),因为国内大防火墙的原因,要用国内镜来下载这些包。

    Android SDK在线更新镜像服务器:

    大连东软信息学院镜像服务器地址:

    mirrors.neusoft.edu.cn 端口:80

    腾讯Bugly镜像

    android-mirror.bugly.qq.com 8080

    中国科学院开源协会镜像站地址:

    IPV4/IPV6: mirrors.opencas.cn 端口:80

    IPV4/IPV6: mirrors.opencas.org 端口:80

    IPV4/IPV6: mirrors.opencas.ac.cn 端口:80

    上海GDG镜像服务器地址:

    sdk.gdgshanghai.com 端口:8000

    北京化工大学镜像服务器地址:

    IPv4: ubuntu.buct.edu.cn/ 端口:80

    IPv4: ubuntu.buct.cn/ 端口:80

    IPv6: ubuntu.buct6.edu.cn/ 端口:80

    使用 Android SDK Manager下载sdk时 ,打开主界面,选择「Tools」、「Options」,弹出『Android SDK Manager - Settings』窗口: ...

    立即注册
    更新于:2022-04-06 19:22:21

    Android隐藏标题栏、状态栏、导航栏及全屏方法总结




    3c3c53f73c_normal.png





    Android开发中,有时候根据需求要隐藏标题栏、状态栏、导航栏或者全屏显示。看似很简单的功能,但是不注意使用环境,就会出现错误。



    java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.


    在AndroidManifest.xml中使用 android:theme="@android:style/Theme.Light.NoTitleBar"或android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"来隐藏标题栏和状态栏的错误。




    下面我们就来详细的分析下不同情景下,隐藏标题栏、状态栏、导航栏及全屏实现方法:


    1. 隐藏标题栏





    fbb14c58a7_normal.png





    ① 在代码里实现



    • Activity继承 Activity


    this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏



    注意:一定要写在setContentView()方法之前



    • Activity继承 AppCompatActivity


     getSupportActionBar().hide();// 隐藏ActionBar


    ② 在清单文件(AndroidManifest.xml中的application或者activity)里面实现



    • Activity继承 Activity


    <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@android:style/Theme.Light.NoTitleBar">
    <!--android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>-->
    ...
    </application>



    <activity android:name=".MainActivity"
    android:theme="@android:style/Theme.Light.NoTitleBar"/>
    <!--android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>-->



    • Activity继承 AppCompatActivity


    <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar">
    ...
    </application>



    <activity android:name=".MainActivity"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>


    ③ 在style.xml文件里定义,在AndroidManifest.xml中的application或者activity上引用



    • Activity继承 Activity/AppCompatActivity

      style.xml文件:


    <?xml version="1.0" encoding="UTF-8" ?>
    <resources>
    <style name="notitle" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    </style>
    </resources>


    AndroidManifest.xml文件:


    <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/notitle">
    ...
    </application>



    <activity android:name=".MainActivity"
    android:theme="@style/notitle"/>



    注意:

    1)android:theme="@android:style/Theme.Light.NoTitleBar"代码如果在application中配置的话,整个APP的 Activity都只能是继承自Activity,不能是AppCompatActivity,因为AppCompatActivity下的 Theme只能是ActionBar样式的;如果只在某一个 Activity下配置,那么只要确保当前 Activity是继承Activity,而不是继承AppCompatActivity即可;

    2)android:theme="@style/Theme.AppCompat.Light.NoActionBar"代码如果在application中配置的话,整个APP的Activity可以继承Activity或者AppCompatActivity;如果只在某一个 Activity下配置,当前 Activity可以继承Activity或者AppCompatActivity。


    2. 隐藏状态栏





    eae0a2672b_normal.png





    ① 在代码里实现



    • Activity继承 Activity/AppCompatActivity


     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);


    ...

    立即注册
    更新于:2022-06-08 12:41:29

    如何使用Android Studio将网站转换为Android App


    In this tutorial you will learn how to convert website to android app using Android Studio.

    在本教程中,您将学习如何使用Android Studio将网站转换为android应用。

    Before reading this tutorial I hope that you already have basic knowledge of Android App Development. Otherwise you won’t be able to understand anything.

    在阅读本教程之前,我希望您已经具有Android App Development的基本知识。 否则,您将无法理解任何内容。

    What I will do here is simply open the website in webview with a loading bar so that it will look like we are using an android app.

    我在这里要做的就是简单地在Webview中使用加载栏打开网站,以便看起来我们正在使用android应用。

    By using this method you can convert website or wordpress blog into android application. You can follow this link to see an example app that I have created using this process.

    通过使用此方法,您可以将网站或wordpress博客转换为android应用程序。 您可以点击此链接查看我使用此过程创建的示例应用程序。

    Note: Make sure the website for which you want to create app is responsive, otherwise the app will not look proper.

    注意:请确保您要为其创建应用程序的网站具有响应能力,否则该应用程序将无法正常显示。

    If you want to integrate admob and google analytics in your app then you can follow below tutorials.

    如果您想将admob和Google Analytics(分析)集成到您的应用中,则可以按照以下教程进行操作。

    Also Read: Android Google Analytics Integration Tutorial

    另请参阅: Android Google Analytics(分析)集成教程

    Also Read: Android AdMob Tutorial

    另请参阅: Android AdMob教程

    db0313a3fa_normal.png

    如何将网站转换为Android App (How to Convert Website to Android App)

    Create an android studio project with the website name.

    使用网站名称创建一个android studio项目。

    Add internet access permission to AndroidManifest.xml file.

    将互联网访问权限添加到AndroidManifest.xml文件。

    <uses-permission android:name="android.permission.INTERNET"/>

    Add following code in activity_main.xml file. Here I have added a horizontal progress bar with a webview.

    activity_main.xml文件中添加以下代码。 在这里,我添加了带有Webview的水平进度条。

    activity_main.xml

    activity_main.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.myudaipurcity.MainActivity">
    <ProgressBar
    android:id="@+id/progressBar"

    android:layout_width="fill_parent"
    android:layout_height="5dp"
    android:progressDrawable="@drawable/bg_progress_bar_webview" />

    <WebView
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/progressBar"
    />
    </RelativeLayout>">

    Create an xml file inside drawable folder and add following code in it. It is a custom background for progress bar. You can change the color by changing color code in res/values/color.xml file....

    立即注册
    更新于:2022-06-12 15:32:44
    相关内容

    vps相关问题

    国外VPS性能比较,配置价格比较

    国外VPS网络状况比较

    不好用的VPS

    保险相关

    保险法律法规相关

    保险知识

    保险观察

    哪些人容易得肺癌?这5个真相,你一定要知道!

    哪些女性会比较容易患乳腺癌?

    哪些人容易得乳腺癌?更年期女性真的要当心!

    保险公司介绍

    销售保险产品的网站

    互联网相关

    2008年通过互联网领袖扑克牌看中国互联网形势

    我用搜索引擎中遇到的问题和心得

    互联网相关

    教育相关

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    人气美女女优百度指数排行榜(波多野结衣,苍井空,三上悠亚,深田咏美,桥本有菜,北条...

    最强人造人深田咏美,业界的社交女王

    人生起起落落的三上悠亚,成名前的清纯风,怎么搭配出来的?

    业内第一大长腿,桥本有菜的腿究竟有多长

    波多野结衣,岛国业界著作最多的超级劳模

    日本AV界NO.1,苍井空是多少宅男的疯狂?

    美女女优视频混剪 This Girl-Laza Morgan

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享