精华内容
下载资源
问答
  • android app 用什么语言开发的

    千次阅读 2018-12-06 11:31:26
    首先我们需要选用一个语言来开发本地App。 那么,我们第一步干啥了。在现有的语言中挑选语言。 那么首先考虑的条件是不火的语言和没前途的语言是不在选择范围的。---因为没人,那么库就会少。因为库少就不会好用。...

    首先我们需要选用一个语言来开发本地App。

    那么,我们第一步干啥了。
    在现有的语言中挑选语言。

    那么首先考虑的条件是不火的语言和没前途的语言是不在选择范围的。
    ---因为没人用,那么库就会少。因为库少就不会好用。因为不好用。所以用的人更少。生态圈的核心思想。
    --那这个世界是不是只有C++/Java了。肯定不是。因为有些语言是有前途的。最大的特点是。简化了程序员的负担。或者效率更高。未来肯定是主流。

    那么我们常用的语言和有前景的语言是哪些
    C/C++/Java/C#/Python/Ruby/Go/JavaScript+Html

    好。这些是我们常用的语言。我们看待的是怎么把这些语言一步步的踢掉。然后只剩下Java的。

    首先踢掉的是C。至今大型的超过10万行代码的图形化界面程序没有几个是用C的。因为复杂的错误处理和没有纠错机制。使得程序非常容易崩溃。同时。因为C没有面向对象。那么工程化开发显得非常麻烦。
    相信没有人现在主动说。用C开发App这种多界面程序吧。

    继续踢掉的是C#。我干嘛要用一个一出生就为了对付Java的。还是微软的私货的语言。对。Android是开源界的。而C#注定不是适合开源界的语言。

    那我们继续踢语言:

    我们该要一门重语言还是轻语言?

    Java/C++/C#/Go/C是重语言。
    Python/Ruby/JavaScript+Html/是轻语言。

    对。我心目中划分语言的标准基本上是属于这样的,只要在代码中体现我们需要讲效率的。那就是重语言。
    重语言首先讲究的是运行效率。然后讲究工程化。
    轻语言讲究开发效率,讲究敏捷性开发。

    回到我们选语言的原则。
    我们想开发一款本地App。还在性能不高的手机上。
    那么除了C之外的开发语言中。运行效率最高的是C++,然后是Java。

    那么轻型语言就要被一个个踢掉了。
    Ruby在网页端有作为。但是库太少。图形库更少,开发者都是网页端的人。被踢。
    JavaScript+Html - ----> 这是未来大一统的趋势。但是我们现在是找一门开发本地App的语言。
    外加真心html+JavaScript有着先天的劣势。(效率+Offline)
    Python有着完善的库。有着极高的人气社区。在手机上开发也有过尝试。(Nokia就干过这事。Ubuntu Phone的UML也是一种类python的语言。)Google也是python的大用户。效率是问题。但是不是绝对的。先对Python实现保留意见。

    那么我们看这一轮入围的四门语言
    Java/C++/Python/Go

    再说Go。Go语言还不成熟。库也不多。开发者少。但是作为Google主打的语言。很有可能。Google会提供基于Go的Android sdk。至少现在Android的主打语言不会是Go。

    剩下三门
    C++/Python/Java
    C++重运行效率。但是跨平台性较弱。开发难度较高。库多,用的人多。
    Python,重开发效率。跨平台性高。开发难度低,库多,用的人多。
    Java。重开发效率。不及python,重运行效率,不及C++。开发难度低。库多。用的人多。

    那再回到需求:
    Google是想要一门开发本地App的语言。Google想屏蔽掉底层硬件的差异。实现对于开发者来说是一个统一的平台。
    同时。对于手机这个现阶段的平台来说。耗电,以及性能。是无法回避的问题。

    那么这门语言的跨平台性要求很高。同时效率又很高。

    说Python:效率实在无法达到其普遍的手机要求。尤其是对于图像处理这种高计算操作。且。社区无法与C++/Java相比。意味着库没有Java和C++多,开发者不是跟Java和C++一个等级的。

    说C++:用过JNI的人都知道本地的C/C++库,至少要编译多次。不同的框架就代表者不同的编译环境。而且直接用C++编译运行的话。C++并不能很好的屏蔽掉硬件差异。所以对于开发来说调试来说,都是一个比较艰巨的任务。
    C++也不是一个非常好的工程化开发语言。
    那有没有破解法。Qt。可以用框架屏蔽掉大部分的细节操作。Qt5.0支持Android。
    为什么没用。估摸着是跟Qt不是Google家的产品加不开源的问题吧。

    说Java:虚拟机是核心。因为虚拟机真正能屏蔽掉开发的很多差异。而且通过虚拟机。开发者只要在打包的时候翻译成运行码而不需要翻译成机器码。通过虚拟机完成很多差异的解决。而效率并不是丢的非常严重。
    且Java比C++更受开源界和工业界的共同欢迎。即使Java也有版权问题。。。

    我们屏蔽掉最基础的硬件差异。通过Linux,在屏蔽掉手机的一些基本功能差异。然后提供纯粹的利于开发者开发和测试的方法。只有通过虚拟机了。而这个虚拟机是需要讲性能的。
    Google搞了一个Davlik虚拟机。对。这就是Android的核心。就是因为性能要求高。不得不重新开发虚拟机。Davlik就是一个非常讲效率的虚拟机。而其他的常用库都有的,现成的。根本就不需要自己去写的。只要打包就好。
    那么还有些必须考效率的库和应用。怎么办。
    用JNI技术调用C++
    对就这么坑爹。

    为什么Object-C这门语言无视我说的大部分要求了。因为Apple有能力创造一门更好的语言。Google对于Android,只是在开源社区挑一门语言。
    且。ObjectC生在Apple,死在Apple。兼容性。人家才不需要考虑。所以人家敢用Object-C,而Android为了实现真正的跨平台。只能选Java。


    作者:Tom哥哥
    来源:CSDN
    原文:https://blog.csdn.net/m0_37412958/article/details/61414203
    版权声明:本文为博主原创文章,转载请附上博文链接!

    转载于:https://blog.51cto.com/luoyi/2326897

    展开全文
  • android app 用什么语言开发的?

    万次阅读 多人点赞 2017-03-11 10:52:05
    首先我们需要选用一个语言来开发本地App。 那么,我们第一步干啥了。 在现有的语言中挑选语言。 那么首先考虑的条件是不火的语言和没前途的语言是不在选择范围的。 ---因为没人,那么库就会少。因为库少就不会...

     

    作者     Tom     2017/3/11


    首先我们需要选用一个语言来开发本地App。


    那么,我们第一步干啥了。
    在现有的语言中挑选语言。

    那么首先考虑的条件是不火的语言和没前途的语言是不在选择范围的。
    ---因为没人用,那么库就会少。因为库少就不会好用。因为不好用。所以用的人更少。生态圈的核心思想。
    --那这个世界是不是只有C++/Java了。肯定不是。因为有些语言是有前途的。最大的特点是。简化了程序员的负担。或者效率更高。未来肯定是主流。

    那么我们常用的语言和有前景的语言是哪些
    C/C++/Java/C#/Python/Ruby/Go/JavaScript+Html

    好。这些是我们常用的语言。我们看待的是怎么把这些语言一步步的踢掉。然后只剩下Java的。

    首先踢掉的是C。至今大型的超过10万行代码的图形化界面程序没有几个是用C的。因为复杂的错误处理和没有纠错机制。使得程序非常容易崩溃。同时。因为C没有面向对象。那么工程化开发显得非常麻烦。
    相信没有人现在主动说。用C开发App这种多界面程序吧。

    继续踢掉的是C#。我干嘛要用一个一出生就为了对付Java的。还是微软的私货的语言。对。Android是开源界的。而C#注定不是适合开源界的语言。

    那我们继续踢语言:

    我们该要一门重语言还是轻语言?

    Java/C++/C#/Go/C是重语言。
    Python/Ruby/JavaScript+Html/是轻语言。

    对。我心目中划分语言的标准基本上是属于这样的,只要在代码中体现我们需要讲效率的。那就是重语言。
    重语言首先讲究的是运行效率。然后讲究工程化。
    轻语言讲究开发效率,讲究敏捷性开发。

    回到我们选语言的原则。
    我们想开发一款本地App。还在性能不高的手机上。
    那么除了C之外的开发语言中。运行效率最高的是C++,然后是Java。

    那么轻型语言就要被一个个踢掉了。
    Ruby在网页端有作为。但是库太少。图形库更少,开发者都是网页端的人。被踢。
    JavaScript+Html - ----> 这是未来大一统的趋势。但是我们现在是找一门开发本地App的语言。
    外加真心html+JavaScript有着先天的劣势。(效率+Offline)
    Python有着完善的库。有着极高的人气社区。在手机上开发也有过尝试。(Nokia就干过这事。Ubuntu Phone的UML也是一种类python的语言。)Google也是python的大用户。效率是问题。但是不是绝对的。先对Python实现保留意见

    那么我们看这一轮入围的四门语言
    Java/C++/Python/Go

    再说Go。Go语言还不成熟。库也不多。开发者少。但是作为Google主打的语言。很有可能。Google会提供基于Go的Android sdk。至少现在Android的主打语言不会是Go。

    剩下三门
    C++/Python/Java
    C++重运行效率。但是跨平台性较弱。开发难度较高。库多,用的人多。
    Python,重开发效率。跨平台性高。开发难度低,库多,用的人多。
    Java。重开发效率。不及python,重运行效率,不及C++。开发难度低。库多。用的人多。

    那再回到需求:
    Google是想要一门开发本地App的语言。Google想屏蔽掉底层硬件的差异。实现对于开发者来说是一个统一的平台。
    同时。对于手机这个现阶段的平台来说。耗电,以及性能。是无法回避的问题。

    那么这门语言的跨平台性要求很高。同时效率又很高。

    说Python:效率实在无法达到其普遍的手机要求。尤其是对于图像处理这种高计算操作。且。社区无法与C++/Java相比。意味着库没有Java和C++多,开发者不是跟Java和C++一个等级的。

    说C++:用过JNI的人都知道本地的C/C++库,至少要编译多次。不同的框架就代表者不同的编译环境。而且直接用C++编译运行的话。C++并不能很好的屏蔽掉硬件差异。所以对于开发来说调试来说,都是一个比较艰巨的任务。
    C++也不是一个非常好的工程化开发语言。
    那有没有破解法。Qt。可以用框架屏蔽掉大部分的细节操作。Qt5.0支持Android。
    为什么没用。估摸着是跟Qt不是Google家的产品加不开源的问题吧。

    说Java:虚拟机是核心。因为虚拟机真正能屏蔽掉开发的很多差异。而且通过虚拟机。开发者只要在打包的时候翻译成运行码而不需要翻译成机器码。通过虚拟机完成很多差异的解决。而效率并不是丢的非常严重。
    且Java比C++更受开源界和工业界的共同欢迎。即使Java也有版权问题。。。

    我们屏蔽掉最基础的硬件差异。通过Linux,在屏蔽掉手机的一些基本功能差异。然后提供纯粹的利于开发者开发和测试的方法。只有通过虚拟机了。而这个虚拟机是需要讲性能的。
    Google搞了一个Davlik虚拟机。对。这就是Android的核心。就是因为性能要求高。不得不重新开发虚拟机。Davlik就是一个非常讲效率的虚拟机。而其他的常用库都有的,现成的。根本就不需要自己去写的。只要打包就好。
    那么还有些必须考效率的库和应用。怎么办。
    用JNI技术调用C++
    对就这么坑爹。

    为什么Object-C这门语言无视我说的大部分要求了。因为Apple有能力创造一门更好的语言。Google对于Android,只是在开源社区挑一门语言。
    且。ObjectC生在Apple,死在Apple。兼容性。人家才不需要考虑。所以人家敢用Object-C,而Android为了实现真正的跨平台。只能选Java。
    展开全文
  • Android创建多语言支持app示例代码.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 主要为大家详细介绍了Android app应用多语言切换功能实现代码,感兴趣的小伙伴们可以参考一下
  • 海外市场app的开发者,避免不了的就接触到多语言啦。曾见过有人反射手机系统的设置来实现多语言,但是网上使用最多的方案还是提供一套多语言的string.xml文件,手动切换app内部实现。这里我们也随大流动手搞一下。...

    做海外市场app的开发者,避免不了的就接触到多语言啦。曾见过有人反射手机系统的设置来实现多语言,但是网上使用最多的方案还是提供一套多语言的string.xml文件,手动切换app内部实现。这里我们也随大流动手搞一下。

    要点

    在这里插入图片描述

    0、预览图

    在这里插入图片描述

    1、实现思路

    (1)准备多语言的values文件(如下图)

    在这里插入图片描述

    有个插件:AndroidLocalize可以帮我们快速实现翻译,但是这个插件有bug,好多翻译不出来。所以我们使用这个插件可以快速建立相关文件夹。具体的翻译内容可以由专业人员提供,或者去python找找相对准确的翻译脚本。

    (2)切换语言用到的相关类

    1、Resources 安卓资源类
    2、DisplayMetrics 安卓手机尺寸信息类
    3、Configuration 配置信息类
    4、Locale 安卓语言类

    简单使用

            Resources resources = this.getResources();
            DisplayMetrics dm = resources.getDisplayMetrics();
            Configuration config = resources.getConfiguration();
    
            config.locale = Locale.CHINESE; // 切换为中文
            resources.updateConfiguration(config, dm);
    

    (3)重启app

     Intent intent = new Intent(MainActivity.this, MainActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
            startActivity(intent);
            android.os.Process.killProcess(android.os.Process.myPid());
            System.exit(0);
    

    1、设置语言后要重启app才能生效
    2、重启activity也行但是存在与不同任务栈的activity可能会切换失效,所以我们直接重启app。

    (4)数据持久化

    我们会发现这样一个问题:
    app是中文->点击按钮切换为英文->退出app->再次进入app
    what? 又是中文啦,只能使用一次?app退出再进入就失效啦。
    解决方案:使用sp存储相关信息(注意sp的commit和apply的区别)

    2、工具类的封装

    可以知道多语言切换的坑还是不少的,这里就总结一下工具类,避免大家入坑,快速搬砖。哈哈哈

    (1)切换语言工具类
    (2)语言工具类
    (3)语言sp工具类

    工具类使用:

      protected void onCreate(Bundle savedInstanceState) {
            LanguageUtil.changeAppLanguage(this, PrefUtils.getLanguage(this)); // onCreate 之前调用 否则不起作用
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
             setLanguage("en");
        }
         /**
         * 设置语言
         */
        private void setLanguage(String language) {
            // 切换
            LanguageUtil.changeAppLanguage(MainActivity.this, language);
            // 存入sp
            PrefUtils.setLanguage(MainActivity.this, language);
            // 重启app
            Intent intent = new Intent(MainActivity.this, MainActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
            startActivity(intent);
            android.os.Process.killProcess(android.os.Process.myPid());
            System.exit(0);
        }
    

    demo:传送门

    3、参考资料

    1、Android App 多语言切换
    2、Configuration类
    3、Activity任务栈参考这篇

    4、工具类存在的bug

    (1)主要bug

    如上文我们通过关闭本app的进程退出app,但是本app弹出的通知内容的语言是切换不了的。因为remoteview的缘故。特别是我们集成一些第三方sdk,这些第三方sdk在我们的app内部弹出通知时。

    (2)次要bug
    这个工具主要提供了10种语言切换(其他的我们可以添加)

    <string name="tv_en">English</string>
    <string name="tv_hi">हिन्दी</string><!--印地语-->
    <string name="tv_in">Bahasa indonesia</string><!--印尼语-->
    <string name="tv_es">Español</string><!--西班牙语-->
    <string name="tv_pt">Português</string><!--葡萄牙语-->
    <string name="tv_ru">русский</string><!--俄语-->
    <string name="tv_de">Deutsch</string><!--德语-->
    <string name="tv_fr">Français</string><!--法语-->
    <string name="tv_zh_rcn">中文(简体)</string><!--简体中文-->
    <string name="tv_zh_rtw">中文(繁體)</string><!--繁体中文-->
    

    Local类中封装的语言常量也是不完善的,我们可以在上文工具类“语言工具类”中添加语言常量,在“切换语言工具类”的map中添加即可

    5、小结

    分享下希望可以帮助大家快速搬砖-----溜溜球。。。。。

    展开全文
  • android app实现多语言切换demo,简单易懂,附源码工程
  • 请问大神们可以帮助我吗?在我的程序里面我想实现多语言切换,调用系统的语言设置, 改变我自己的app语言,但是不改变系统的显示语言,这样怎么实现?
  • Android是一个基于Linux的免费和开源移动操作系统,用户基数很大,很多企业在进行app开发的时候,都会选择开发安卓版本的app,下面我就给大家简单介绍一下,企业最常用到的安卓app开发语言有哪些。企业最常用的安卓...

    Android是一个基于Linux的免费和开源移动操作系统,用户基数很大,很多企业在进行app开发的时候,都会选择开发安卓版本的app,下面我就给大家简单介绍一下,企业最常用到的安卓app开发语言有哪些。

    企业最常用的安卓app开发语言有哪些?

    71941005f2c5223e622fc7205fe95859.png

    一般来说,企业在进行安卓app开发时,比较常用的开发语言有以下这三种:

    1.基于ADK的Java编程

    目前,企业进行安卓app开发所使用的主流语言是Java语言。 Java语言的最大特点是提高软件交互的可能性。 可以说几乎Android手机的所有应用都是用Java语言编写的。使用Java语言开发的软件库,数据库和运行时是Android手机软件的一个主要特点。

    Java语言本身的优点也很多,因此Android应用软件的开发应用了Java核心类的知识,这也使得使用Java语言开发的Android软件具有很强的优势。

    尽管使用Java开发应用程序很方便,但它很容易降低应用程序的质量。 尽管Android使用虚拟机来运行Java,比非智能平台JVM更有效,但它始终无法与NDK进行比较,因此安卓app的运行速度很慢,主要是由于Java带有内存回收机制,因此开发人员经常使用Java开发应用程序而不必关注控制内存泄漏问题(特别是一些小软件)。当进程超过虚拟机分配的阈值时,它们将被系统杀掉释放内存。 这可能导致app出现崩溃,假死等等情况。

    2.基于NDK的C语言编程

    C语言是一种结构化语言。 它具有清晰的层次结构,易于以模块化方式进行安排,易于调试和保护。 C语言的体现才能和处理才能非常强。 它不仅具有丰富的运算符和数据类型,易于完成各种凌乱的数据结构。 还是当今最流行的编程语言之一。 它具有丰富的功能,应用广泛,可植入性强,既有高级语言的特征,又有低级语言的特征,适合作为系统渲染语言,既可以用于编写系统软件,又可以用来编写应用程序软件。

    3.sky语言

    除了Java语言和C语言之外,谷歌在2015年推出了新的Android开发语言Sky,以提高app的速度和响应能力。 Sky不依赖于平台,它的代码可以在Android以及任何集成Dart虚拟机的平台上运行。 当然,Sky语言是否可以取代Java语言还有待观察。

    展开全文
  • android app语言切换

    2019-09-30 17:21:52
    Android语言切换,适配8.0以上版本,单击按钮可以实时进行语言切换,也可以设置手机系统的语言,重启app进行切换。
  • 目前,如果个人想为手机开发app...主流app用什么语言开发的?在手机app开发市场,主要有两类,一类是手机安卓app开发,另一类是苹果app开发。它分别对应安卓客户端和苹果客户端,在开发同一个手机app时需要分别开...
  • Android APP切换系统语言

    千次阅读 2019-08-22 11:24:04
    1.需求 三方APP实现点击切换语言功能... 2.1 跳转到系统Settings的语言选择界面,实现功能 跳转代码: Intent intent = new Intent(Settings.ACTION_LOCALE_SETTINGS); startActivity(intent); 优点: ...
  • android app修改界面语言的解决思路

    千次阅读 2018-10-15 17:53:27
    简单的说就是让用户选择app使用哪种语言。 大部分情况下,app语言是由操作系统根据系统语言来设定的,比较理想的情况是系统能够正确地指导app显示用户希望的语言(google也希望app处于这样的环境下)。对于原生的...
  • Android设置整体app字体大小.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 用于演示app支持多国语言展示的使用方法,还演示了汉字转拼音的两种方案:Android自带的HanziToPinyin,以及pinyin4j.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 主要为大家详细介绍了Android实现app应用多语言切换功能的相关资料,类似于微信的语言切换,感兴趣的小伙伴们可以参考一下
  • android APP语言切换

    2017-12-06 10:37:34
    android语言环境 代码简单明了,逻辑清晰! 完整代码
  • Android APP语言切换

    热门讨论 2014-04-29 15:07:46
    Android 应用程序多语言切换的一个Demo,有需要的请下载
  • android开发中有时候碰到切换语言的需求,这时候需要通过代码动态改变当前运行语言。 package com.example.androidtest; import java.util.Locale; import android.os.Bundle; import android.app.Activity; ...
  • Androidapp内设置语言

    2018-03-24 11:36:56
    类似微信,在设置中,弹框选择语言,关键代码以及封装的都在,弹框和界面需要根据自己的需求自己搭建,这里没有以弹框的形式出现。整体思路是:选择语言,退出app进入指定类,根据保存所选的语言进行选择
  • Android App语言切换

    千次阅读 2016-07-27 21:41:09
    转载自:...前段时间公司 App 需要实现多语言切换功能,接到任务后先 Google 了下,发现搜到的方法都比较老旧,很多都莫名其妙,比如什么 API
  • Android app语言切换

    千次阅读 2014-05-27 17:49:15
    app用户根据自己的语言喜好,设置app语言。语言设置只针对本app,并在下次启动应用时保留前一次启动设置。 更新语言: public static void changeAppLanguage(Resources resources, String ...
  • Android 不同版本APP内切换语言

    千次阅读 多人点赞 2018-08-14 12:13:33
    在现今国际交流频繁的时代,因为项目的关系,学习到了在APP内切换语言的方式。但是由于Android7.0在语言上有了改进,导致7.0以前与7.0及以后APP内切换语言的方式有了不同。  先看下效果图   下面是具体...
  • Android App Kotlin语言连接Mysql数据库前言一、环境准备二、项目代码1.创建工程2.导入jar包3.配置网络权限4.页面布局文件5.Activity代码总结 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ...
  • android app根据系统语言设置应用语言

    千次阅读 2017-05-11 15:24:08
    在不同的 value 文件夹下(例如 value 、value-en、values-zh-rTW 文件夹)添加不同语言的 string.xml 文件 中文的string.xml文件翻译成英文的string.xml文件 http://fanyi.youdao.com/translate //根据系统...
  • app开发中涉及到切换系统语言的功能 通过调用发射可以实现 代码如下: public void updateLanguage(Locale locale) { try { Object objIActMag; Class clzIActMag = Class.forName(“android.app.IActivityManager...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 111,625
精华内容 44,650
关键字:

做安卓app用什么语言