精华内容
下载资源
问答
  • UP_Studio_x64.exe

    2019-10-10 11:39:59
    3D控制软件,UP Studio安装软件,国产软件,比较挑机器,要求的附带较多,可以使用。
  • Mix Up Studio Mac版是Mac平台上的一款混合专业音序器工具。Mix Up Studio Mac版是一个便携式工作室,可以为所有流行风格创作音乐,无论灵感来自哪里。你都能想出疯狂的音乐创意,它将尽最大努力将您的想法转化为...
  • Android Studio:Android Studio 配置

    千次阅读 多人点赞 2016-08-27 18:02:26
    Android Studio下载与安装 Android开发之最详细的studio安装以及使用教程 Android Studio 配置 熟练这些,才会知道 Android studio 有多高效 1 修改idea.properties 第一次启动AS会很慢,这是因为AS在下载...

    Android Studio下载与安装

    Android开发之最详细的studio安装以及使用教程

    Android Studio 配置

    熟练这些,才会知道 Android studio 有多高效

    1 修改idea.properties

    第一次启动AS会很慢,这是因为AS在下载一些文件,解决方法:在目录Android Studio\bin下找到文件idea.properties,打开并在最后添加一行代码:
    
    disable.android.first.run=true  

    2 JDK+SDK的配置

    file -->setting -->Appearance & Behavior -->System Setting -->Android SDK,设置SDK的目录即可。
    

    见图:
    这里写图片描述

    3 使用ADB

    第一次安装完Android Studio后,默认是不关联ADB的,所以我们如果run,会报错:如下图:
    

    这里写图片描述
    解决方法:Tools | Android | Enable ADB ingtegration 打钩。

    这里写图片描述

    4 黑色主题

    file -->setting -->Appearance & Behavior -->Appearance-->UI Options-->Theme:
    

    见图:
    这里写图片描述

    5 代码编辑区字体 和UTF-8

    file -->setting -->Editor-->Color & Font --> Font
    

    见图:
    这里写图片描述

    这里写图片描述

    6 开启studio默认打开上一个项目

    setting-->Appearance & Behavior-->System Setting-->Start UP/Start Down-->ReOpen last Project on StartUp。
    
    打钩:每次打开AS,都会打开最后一次的项目。
    不打勾:每次打开AS,会让你自己选择打开那个项目。
    

    这里写图片描述

    7 删除项目

    有键项目,发现没有delete,这是因为AS在删除项目上比较慎重,多加了一步。
    

    解决方法:

    file -->setting-->Project Structure -->Module,选中你创建的Module,点击“-”,--->ok-->返回project结构,选中你创建的Module(app是你自己命名的)右击delete就可以实现删除module
    

    见图:
    这里写图片描述
    这里写图片描述

    8 查看项目中的结构(eclipse 中的 outline)

    左侧有 structure
    

    见图:
    这里写图片描述

    9 修改类名

    这里写图片描述

    10 导入 jar 包

    有2种方法
    1. 添加本地jar包。
    2. 添加远程jar包。

    1 添加本地jar包

    project目录下,将jar放到module的libs目录中,右键add as library。
    注意:这种方法添加的jar不会再dependencies{。。。}中出现:
                  compile 'com.google.code.gson:gson:2.4',
        但是会出现:compile files('libs/BaiduLBS_Android.jar')
    

    见下图:compile files(‘libs/BaiduLBS_Android.jar’):
    这里写图片描述
    add as library后左侧有三角形,说明已经作为library添加成功。
    这里写图片描述

    也可以不用右键add as library,而是在module setting 中但是file dependency:如下图:

    这里写图片描述
    这里写图片描述

    2 添加远程jar包

     方法一:在 gradle 种配置。
    

    这里写图片描述

    方法二:setting-->project structure -->app(选中)--> Dependencies-->Library Dependency-->搜索jar包(如:Gson.jar)
    

    这里写图片描述

    11设置compileSdkVersion+targetSdkVersion+buildToolsVersion默认版本

    方法一:修改module中的版本
    方法二:修改project中的版本
    

    方法一:修改module中的版本

    已经创建的项目:直接在module的buidle.gradle中修改即可
    怎么在创建项目时就保证各version部出现older 不清楚,尽量升级AS吧。

    方法二:修改project中的版本

    File–>Project Structure… –>Module app修改对应的version

    这里写图片描述
    这里写图片描述

    12 设置LOG的颜色

    见图:
    这里写图片描述
    Assert: 7EFFEC

    log级别颜色
    Assert7EFFEC
    Debug4180BB
    ErrorFF453D
    InfoFFFFFF
    VerboseC0C0C0
    WaringBBB945

    13 查看代码修改记录

    选中module,右击,–>Local History–>show History.

    1.
    这里写图片描述
    2.
    这里写图片描述
    3.对照图
    这里写图片描述

    14 AS实现在真机/模拟器上 截屏 + 录制屏幕

    这里写图片描述

    15 修改类上面的注释

    这里写图片描述

    16 Layout中抽取Style

    右键—>ReFactor—>Extract—>Style

    这里写图片描述

    17 布局中的text英文字母默认是大写显示

    默认大写,而 我们需要 输入的是小写就是小写;输入的是大写就是大写;或者大小写都有,需要在view下设置:
    caps:大写。

    android:textAllCaps="false"

    18 开启和关闭项目的VCS

    开启

    开启完成后,左侧添加文件vcs.xml

    这里写图片描述

    关闭

    android studio project–>ideal中文件设为空

    这里写图片描述
    这里写图片描述

    19 Show Tips on StartUp

    Help–>Tips of the Day

    这里写图片描述
    这里写图片描述

    20 字体编码

    File–>setting–>Editor–>File Encoding

    这里写图片描述

    21 格式化不换行

    setting–>Editor–>Code Style–>Java–>Wrap and Braces–>line break 不打勾

    这里写图片描述

    22 禁用instants run

    这里写图片描述

    默认选中个前2项
    这里写图片描述

    23 AS导入SDK/sample下的官方Demo

    导如官方的Demo有2种方式

    • 在线下载并导入
    • 导入SDK/sample下的Demo
      在线下载并导入请移步Android Studio BUG 第6条 ,下面介绍导入sdk中的sample

    Step1 :替换project下的build.gradle

    由于官方给的Demo中project下的build.gradle是空的,所以我们需要把别的project下的build.gradle复制到该Demo下。
    以recyclerview为例:
    这里写图片描述

    Step2:

    位于gradle\wrapper目录下
    修改gradle-wrapper.properties中的gradle为你本地的gradle
    这里写图片描述

    这里写图片描述

    Step3:修改module下的build.gradle

    修改module下的build.gradle 的com.android.tools.build:gradle为你本地的tool。官方的Demo中Application目录就是module。
    这里写图片描述

    这里写图片描述

    24 删除无效的资源文件

    参考:Android Studio删除无用的资源文件

    Analyse —>Run Inspection by Name–>输入unused resources–>选择筛选条件–>显示无效的文件–>删除

    Step1: Analyse —>Run Inspection by Name

    这里写图片描述

    Step2: 输入unused resources

    这里写图片描述

    Step3: 选择筛选条件

    这里写图片描述

    Step4:显示无效的文件

    这里写图片描述

    进行到这里,是不是觉得很麻烦,有没有简单方法呢?答案肯定有。右击module–>Refactor–>Remove unUsed Resourse
    这里写图片描述

    25 改变代码编辑区竖线的位置

    setting–>editor–>code style–>右侧right margin(columns)

    这里写图片描述

    这里写图片描述

    26 取消SVN管理

    这里写图片描述

    27 禁用插件

    直接到plugins里面禁用或卸载即可:
    Settings –> Plugins ,右侧会显示出已经安装的插件列表。若是AS再带的,取消勾选即可禁用插件。
    若是自己安装的,取消勾选即可禁用插件,点击 “uninstall plugin” 标识卸载

    禁用:
    这里写图片描述

    卸载
    这里写图片描述

    28 检查更新

    Android Studio支持自动检查更新。之前尚未发布正式版时,一周有时会有几次更新。你可以设置检查的类型,用以控制更新类型。
    Settings –> Updates 。勾选 Check for updates in channel ,即开通了自动检查更新。你可以禁用自动检查更新。右侧的列表,是更新通道。

    • Stable Channel : 正式版本通道,只会获取最新的正式版本。
    • Beta Channel : 测试版本通道,只会获取最新的测试版本。
    • Dev Channel : 开发发布通道,只会获取最新的开发版本。
    • Canary Channel : 预览发布通道,只会获取最新的预览版本。

    这里写图片描述

    29打开DDMS

    这里写图片描述

    这里写图片描述

    30 是否打开新窗口

    当我们打开第二个project时,是在本窗口打开,还是开一个新窗口。
    这里写图片描述

    31 解决导入其他项目时文件乱码

    选择GBK –> Reload,然后选择UTF-8 –> Convert
    解决导入其他项目时文件乱码
    这里写图片描述

    32 从GitHub中拉取项目代码

    如果不是从GitHub,那么就选git,把url粘贴进去即可。
    这里写图片描述

    33 Maven仓库配置

    参考:Android Studio编译缓慢,长时间无响应优化
    国内访问Maven网速太慢,可以用国内的代替。
    在project build.gradle中配置

     maven{ url "http://maven.aliyun.com/nexus/content/groups/public/" }

    即:

    buildscript {
        repositories {
            maven{ url "http://maven.aliyun.com/nexus/content/groups/public/" }
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.0'
        }
    }
    
    allprojects {
        repositories {
            maven{ url "http://maven.aliyun.com/nexus/content/groups/public/" }
            jcenter()
        }
    }

    34 Android 冷兵器 之 tools

    Android 冷兵器 之 tools
    布局文件中tools的使用,可是实现预览效果

    官方介绍:https://developer.android.google.cn/studio/write/tool-attributes.html

    35

    36

    37

    Tip of the Day

    TODO

    这里写图片描述
    这里写图片描述

    打开文件所在目录

    ctrl+鼠标左键
    这里写图片描述

    参考:

    Android Studio简单设置

    展开全文
  • rad studio xe5 up2 破解

    2014-04-04 10:02:38
    rad studio xe5 update2 破解文件(2014.4.3号最新放出的,亲测可用)
  • RAD Studio 10.1 Berlin (with Update 2) v24.0.25048.9432 官方 ISO 文件下载(6.83GB): size=7340716032 md5=920F0ACF67122BB04ED55EDD7A1C7579 sha-1=B5A3AB2A4D9E62ED5D44BE32695C1083B6858705 ...
  • XE8UP1Kg_Unis Remember: This release is intended for educational purpose only, and must not be used for product development or any other kind of commercial use!!! =================================...
  • RAD Studio 10.1 Berlin UP1 最简单破解!安装后再破解即可!最有效的破解!这是完整版!!!
  • RAD Studio 10 Seattle UP1 最简单也最有效的破解! 不用在安装过程中破解,完全安装后也可!
  • 这是最新,最简单的Android Studio 下载与安装教程,希望对各位有所帮助。

    1.Android Studio下载地址:点击打开链接

    http://www.android-studio.org/


    进入界面:如图所示,点击绿色框,下载 ANDROID STUDIO;



    如图所示,找好下载的安装文件,双击Android studio的安装文件;



    进入安装界面:下图,直接点击 Next 就可以了;



    进入下一个界面,如图,选择安装的插件,勾上android virtual device ,点击Next。

    这里的话要说明一下,以前2.多版本的时候是需要在这个界面选择一个 Android SDK的,这个最新版3.0是在后面给你加上了,不用担心。



    进入下一个界面,如图,这里选择 Android studio 的安装目录,修改后,点击Next;



    进入下一个界面,这时候会跳出一个错误,如图,意思是说:无法访问 Android SDK 的附加列表;

    我们选择Setup Proxy进入下一步,然后点击OK;



    进入下图界面,选择默认配置即可点击Next;



    进入下一个界面,选择Standard,然后选择一下是白色主题,还是黑色主题,(选择自己喜欢的就可以),之后点击Next;



    进入下面的界面,这是SDK要下载的相关文件,点击Finish下载就好了;



    如图这是正在下载SDK的界面;



    下面是下载完成:点击Finish就可以了。这样你的Android Studio 就安装完成了。


    展开全文
  • Error:solution is to recompile the class from source, using an up-to-date compiler Error:and without specifying any "-target" type options. The consequence of ignoring Error:this warning is that ...
  • 以移动 Web 应用程序形式实现的 Studio、Dress、Makeup 价格搜索应用程序,包含 Node.js、Express.js(MVC)、HTML、CSS 这是我自己在 7 天内实施的商业概念证明的原型。 它严格遵循 RESTful API 规范。 后端 Node....
  • Android studio实现简单的计算器

    万次阅读 多人点赞 2018-08-16 16:00:20
    使用java语言,在Android studio平台上进行开发 功能设计 "+":实现两数相加 "-&amp...

    需求分析及概要设计


    目的

    开发一个简单的计算器App,使之能够完成加减乘除混合运算

    工具及环境

    使用java语言,在Android studio平台上进行开发

    功能设计

    • “+”:实现两数相加
    • “-”:实现两数相减
    • “*”:实现两数相乘
    • “/”:实现两数相除
    • “=”:计算并得出正确结果
    • “C”:清屏
    • “Backspace”:倒退

    设计思路

    1. 首先设计一个可视化的界面,供用户输入数据并查看结果。
    2. 用户可通过点击相应按钮输入正确的表达式(注意:这里只实现对正确表达式的计算
      处理),最后按"="得出正确结果。在计算过程中可以通过点击倒退键修改输入内容,
    3. 在进行下一次的运算之前必须先进行清零操作。
    4. 设计好的计算器应可以进行加减乘除混合四则运算,且可以进行小数和整数运算

    详细设计

    当用户点击按钮时,用SringBuilder变量记录其输入的运算式,并显示到文本区中。

    当用户点击"="时,把文本区的运算式拿出来,首先将它内部的一个一个字节拼接成独立的运算数和运算符,然后存储在一个ArrayList数组中,接着再新建两个ArrayList数组,用来分别存放运算数和运算符,然后遍历存储运算式的ArrayList数组,把其中的运算数和运算符分别放进不同的ArrayList中,每一次放置运算符时,都要先和已存在的运算符进行比较,若要放进的运算符优先级低于或等于运算符数组中的运算符,则弹出一个运算符,并从运算数数组中弹出两个运算数,然后进行运算,并把结果送入运算数数组中,直到遇到比自己优先级低的运算符或运算符数组为空时,则送入该运算符。当遍历到运算式末尾时,依次弹出运算符中的运算符,并对应弹出运算数进行运算直到运算符数组为空,此时运算数数组中只有一个数据就是最终的结果

    代码

    MainAcivity.java

    package com.example.qw.calculator;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import java.lang.reflect.Method;
    import java.math.BigDecimal;
    import java.util.ArrayList;
    import java.util.List;
    
    public class MainActivity extends AppCompatActivity{
    
        private  StringBuilder show_equation=new StringBuilder();//显示运算式
        private  ArrayList calculate_equation;//计算式
        private  int signal=0;//为0 时表示刚输入状态;为1 时表示当前在输出结果上继续输入
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //初始化
            show_equation=new StringBuilder();
            calculate_equation=new ArrayList<>();
            Button zero=(Button)findViewById(R.id.zero);
            Button one=(Button)findViewById(R.id.one);
            Button two=(Button)findViewById(R.id.two);
            Button three=(Button)findViewById(R.id.three);
            Button four=(Button)findViewById(R.id.four);
            Button five=(Button)findViewById(R.id.five);
            Button six=(Button)findViewById(R.id.six);
            Button seven=(Button)findViewById(R.id.seven);
            Button eight=(Button)findViewById(R.id.eight);
            Button nine=(Button)findViewById(R.id.nine);
            Button cls=(Button)findViewById(R.id.cls);
            Button div=(Button)findViewById(R.id.div);
            Button mul=(Button)findViewById(R.id.mul);
            Button backspace=(Button)findViewById(R.id.Backspace);
            Button sub=(Button)findViewById(R.id.sub);
            Button add=(Button)findViewById(R.id.add);
            final Button equal=(Button)findViewById(R.id.equal);
            final Button point=(Button)findViewById(R.id.spot);
            final EditText result=(EditText)findViewById(R.id.result);
            result.setCursorVisible(true);
            disableShowInput(result);
            //点击文本框时光标始终在文本末尾
            result.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    result.setSelection(result.getText().length());
                }
            });
            zero.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v){
                     if(!(show_equation.toString().equals("0"))){
                         if(signal==0){
                             show_equation.append("0");
                             result.setText(show_equation);
                             result.setSelection(result.getText().length());
                         }else{
                             show_equation.delete(0,show_equation.length());
                             show_equation.append("0");
                             result.setText(show_equation);
                             result.setSelection(result.getText().length());
                             signal=0;
                         }
                     }
                }
            });
            one.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(signal==0){
                        show_equation.append("1");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }else{
                        show_equation.delete(0,show_equation.length());
                        show_equation.append("1");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                        signal=0;
                    }
                }
            });
            two.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(signal==0){
                        show_equation.append("2");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }else{
                        show_equation.delete(0,show_equation.length());
                        show_equation.append("2");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                        signal=0;
                    }
                }
            });
            three.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(signal==0){
                        show_equation.append("3");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }else{
                        show_equation.delete(0,show_equation.length());
                        show_equation.append("3");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                        signal=0;
                    }
                }
            });
             four.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(signal==0){
                        show_equation.append("4");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }else{
                        show_equation.delete(0,show_equation.length());
                        show_equation.append("4");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                        signal=0;
                    }
                }
            });
            five.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(signal==0){
                        show_equation.append("5");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }else{
                        show_equation.delete(0,show_equation.length());
                        show_equation.append("5");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                        signal=0;
                    }
                }
            });
            six.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(signal==0){
                        show_equation.append("6");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }else{
                        show_equation.delete(0,show_equation.length());
                        show_equation.append("6");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                        signal=0;
                    }
                }
            });
            seven.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(signal==0){
                        show_equation.append("7");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }else{
                        show_equation.delete(0,show_equation.length());
                        show_equation.append("7");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                        signal=0;
                    }
                }
            });
            eight.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(signal==0){
                        show_equation.append("8");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }else{
                        show_equation.delete(0,show_equation.length());
                        show_equation.append("8");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                        signal=0;
                    }
                }
            });
            nine.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(signal==0){
                        show_equation.append("9");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }else{
                        show_equation.delete(0,show_equation.length());
                        show_equation.append("9");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                        signal=0;
                    }
                }
            });
            cls.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    show_equation.delete(0,show_equation.length());
                    calculate_equation.clear();
                    signal=0;
                    result.setText("");
                }
            });
            backspace.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(!(show_equation.toString().equals(""))) {
                        if(signal==0){
                            show_equation.deleteCharAt(show_equation.length() - 1);
                            result.setText(show_equation);
                            result.setSelection(result.getText().length());
                        }else{
                            show_equation.delete(0,show_equation.length());
                            result.setText("");
                            signal=0;
                        }
                    }
                }
            });
            point.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(signal==0){
                        String a=show_equation.toString();
                        if(a.equals("")){
                            show_equation.append(".");
                            result.setText(show_equation);
                            result.setSelection(result.getText().length());
                        }else{
                            int i;
                            char t='0';
                            for(i=a.length();i>0;i--){
                                t=a.charAt(i-1);
                                if(t=='.'||t=='+'||t=='-'||t=='*'||t=='/')
                                    break;
                            }
                            if(i==0){
                                show_equation.append(".");
                                result.setText(show_equation);
                                result.setSelection(result.getText().length());
                            }else if(t=='+'||t=='-'||t=='*'||t=='/'){
                                show_equation.append(".");
                                result.setText(show_equation);
                                result.setSelection(result.getText().length());
                            }
                        }
                    }else{
                        show_equation.delete(0,show_equation.length());
                        show_equation.append(".");
                        result.setText(".");
                        result.setSelection(result.getText().length());
                        signal=0;
                    }
                }
            });
    
            equal.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //判断用户是否输入了内容
                    if(!show_equation.toString().equals("")){
                        signal=1;
                        char temp=show_equation.charAt(show_equation.length()-1);
                        if(show_equation.charAt(0)=='-')
                            show_equation.insert(0,"0");
                        if(temp=='+'||temp=='-')
                            show_equation.append("0");
                        if(temp=='*'||temp=='/')
                            show_equation.append("1");
                        StringBuilder temp1=new StringBuilder();
                        for(int i=0;i<show_equation.length();i++){
                            if(show_equation.charAt(i)>='0'&&show_equation.charAt(i)<='9'||show_equation.charAt(i)=='.'){
                                temp1.append(String.valueOf(show_equation.charAt(i)));
                            }else if(show_equation.charAt(i)=='N'){
                                calculate_equation.add("NaN");
                                //跳过2个字符
                                i=i+2;
                            }else if(show_equation.charAt(i)=='∞'){
                                calculate_equation.add("∞");
                            }
                            else
                            {
                                if(temp1.length()!=0){
                                    calculate_equation.add(temp1.toString());
                                    temp1.delete(0,temp1.length());
                                }
                                calculate_equation.add(String.valueOf(show_equation.charAt(i)));
                            }
                        }
                        if(temp1.length()!=0){
                            calculate_equation.add(temp1.toString());
                        }
                        calculate_equation.add("#");
                        String temp8=calculate(calculate_equation);
                        result.setText(temp8);
                        result.setSelection(result.getText().length());
                        show_equation.delete(0,show_equation.length());
                        calculate_equation.clear();
                        show_equation.append(temp8);
                    }
                }
            });
            add.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //判断用户是否输入了内容
                    if(!(show_equation.toString().equals(""))) {
                        signal=0;
                        char temp=show_equation.charAt(show_equation.length()-1);
                        if(temp=='+'||temp=='-'||temp=='*'||temp=='/')
                        {
                            show_equation.deleteCharAt(show_equation.length()-1);
                            show_equation.append("+");
                        }
                        else
                            show_equation.append("+");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }
                }
            });
            sub.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //判断用户是否输入了内容
                    if(!(show_equation.toString().equals(""))) {
                        signal=0;
                        char temp=show_equation.charAt(show_equation.length()-1);
                        if(temp=='+'||temp=='-'||temp=='*'||temp=='/')
                        {
                            show_equation.deleteCharAt(show_equation.length()-1);
                            show_equation.append("-");
                        }
                        else
                            show_equation.append("-");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }
                }
            });
    
            mul.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //判断用户是否输入了内容
                    if(!(show_equation.toString().equals(""))) {
                        signal=0;
                        char temp=show_equation.charAt(show_equation.length()-1);
                        if(temp=='+'||temp=='-'||temp=='*'||temp=='/')
                        {
                            show_equation.deleteCharAt(show_equation.length()-1);
                            show_equation.append("*");
                        }
                        else
                            show_equation.append("*");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }
                }
            });
    
            div.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //判断用户是否输入了内容
                    if(!(show_equation.toString().equals(""))) {
                        signal=0;
                        char temp=show_equation.charAt(show_equation.length()-1);
                        if(temp=='+'||temp=='-'||temp=='*'||temp=='/')
                        {
                            show_equation.deleteCharAt(show_equation.length()-1);
                            show_equation.append("/");
                        }
                        else
                            show_equation.append("/");
                        result.setText(show_equation);
                        result.setSelection(result.getText().length());
                    }
                }
            });
        }
        protected boolean operatorPriorityCompare(char operator1,char operator2)
        {
            int o1=0;
            int o2=0;
            switch (operator1){
                case '+':{o1=0;break;}
                case '-':{o1=0;break;}
                case '*':{o1=1;break;}
                case '/':{o1=1;break;}
            }
            switch (operator2){
                case '+':{o2=0;break;}
                case '-':{o2=0;break;}
                case '*':{o2=1;break;}
                case '/':{o2=1;break;}
            }
            if(o1<=o2)
            {
                return false;
            }
            else
                return true;
        }
        //相加
        public static Double Add(Double d1,Double d2) {
            if(d1==Double.NEGATIVE_INFINITY||d1==Double.POSITIVE_INFINITY||d2==Double.NEGATIVE_INFINITY||d2==Double.POSITIVE_INFINITY){
                return d1+d2;
            }
            if(String.valueOf(d1).equals("NaN")||String.valueOf(d1).equals("NaN")){
                return d1+d2;
            }
            BigDecimal b1 = new BigDecimal(Double.toString(d1));
            BigDecimal b2 = new BigDecimal(Double.toString(d2));
            return b1.add(b2).doubleValue();
        }
        //相减
        public static Double Sub(Double d1,Double d2){
            if(d1==Double.NEGATIVE_INFINITY||d1==Double.POSITIVE_INFINITY||d2==Double.NEGATIVE_INFINITY||d2==Double.POSITIVE_INFINITY){
                return d1-d2;
            }
            if(String.valueOf(d1).equals("NaN")||String.valueOf(d1).equals("NaN")){
                return d1-d2;
            }
            if(String.valueOf(d1).equals("NaN")||String.valueOf(d1).equals("NaN")){
                return d1*d2;
            }
            BigDecimal b1=new BigDecimal(Double.toString(d1));
            BigDecimal b2=new BigDecimal(Double.toString(d2));
            return b1.subtract(b2).doubleValue();
        }
        //相乘
        public static Double Mul(Double d1,Double d2){
            if(d1==Double.NEGATIVE_INFINITY||d1==Double.POSITIVE_INFINITY||d2==Double.NEGATIVE_INFINITY||d2==Double.POSITIVE_INFINITY){
                return d1*d2;
            }
            if(String.valueOf(d1).equals("NaN")||String.valueOf(d1).equals("NaN")){
                return d1*d2;
            }
            BigDecimal b1=new BigDecimal(Double.toString(d1));
            BigDecimal b2=new BigDecimal(Double.toString(d2));
            return b1.multiply(b2).setScale(8).doubleValue();
        }
        //相除
        public static Double Div(Double d1,Double d2){
            if(d1==Double.NEGATIVE_INFINITY||d1==Double.POSITIVE_INFINITY||d2==Double.NEGATIVE_INFINITY||d2==Double.POSITIVE_INFINITY){
                return d1/d2;
            }
            if(String.valueOf(d1).equals("NaN")||String.valueOf(d1).equals("NaN")){
                return d1/d2;
            }
            if(d1==0.0&&d2==0.0){
                return Double.NaN;
            }
            if(d2==0.0){
                return d1/d2;
            }
            BigDecimal b1=new BigDecimal(Double.toString(d1));
            BigDecimal b2=new BigDecimal(Double.toString(d2));
            return b1.divide(b2,8,BigDecimal.ROUND_HALF_UP).doubleValue();
        }
        protected String calculate(ArrayList equation){
            Double temp2;
            Double temp3;
            Double result;
            List operator=new ArrayList();
            List<Double> operand=new ArrayList();
            for(int i=0;i<equation.size();i++)
            {
                String temp4=(String) equation.get(i);
                if(temp4.equals("+")||temp4.equals("-")||temp4.equals("*")||temp4.equals("/"))
                {
                    if(operator.size()>0)
                    {
                        String temp5=operator.get(operator.size()-1).toString();
                        while(!(operatorPriorityCompare(temp4.charAt(0),temp5.charAt(0)))&&operator.size()>0)
                        {
                            operator.remove(operator.size()-1);
                            temp3=operand.get(operand.size()-1);
                            operand.remove(operand.size()-1);
                            temp2=operand.get(operand.size()-1);
                            operand.remove(operand.size()-1);
                            switch (temp5.charAt(0)){
                                case '+':{result=Add(temp2,temp3);operand.add(result);break;}
                                case '-':{result=Sub(temp2,temp3);operand.add(result);break;}
                                case '*':{result=Mul(temp2,temp3);operand.add(result);break;}
                                case '/':{result=Div(temp2,temp3);operand.add(result);break;}
                            }
                            if(operator.size()>0)
                            {
                                temp5=operator.get(operator.size()-1).toString();
                            }
                            else
                                break;
                        }
                        operator.add(temp4);
                    }
                    else
                        operator.add(temp4);
                }
                else if(temp4.equals("#"))
                {
                    while(operator.size()>0)
                    {
                        String temp6=(String)operator.get(operator.size()-1);
                        operator.remove(operator.size()-1);
                        temp3=operand.get(operand.size()-1);
                        operand.remove(operand.size()-1);
                        temp2=operand.get(operand.size()-1);
                        operand.remove(operand.size()-1);
                        switch (temp6.charAt(0)){
                            case '+':{result=Add(temp2,temp3);operand.add(result);break;}
                            case '-':{result=Sub(temp2,temp3);operand.add(result);break;}
                            case '*':{result=Mul(temp2,temp3);operand.add(result);break;}
                            case '/':{result=Div(temp2,temp3);operand.add(result);break;}
                        }
                    }
                }
                else
                {
                    if(temp4.equals("NaN")){
                        operand.add(Double.NaN);
                    }else if(temp4.equals("∞")){
                        operand.add(Double.POSITIVE_INFINITY);
                    }else{
                        operand.add(Double.parseDouble(temp4));
                    }
                }
            }
            if(operand.get(0)==Double.NEGATIVE_INFINITY) return "-∞";
            if(operand.get(0)==Double.POSITIVE_INFINITY) return "∞";
            return operand.get(0).toString();
        }
        //当API最低版小于21时使用这个函数实现点击文本框不弹出键盘
        public void disableShowInput(EditText et) {
            Class<EditText> cls = EditText.class;
            Method method;
            try {
                method = cls.getMethod("setShowSoftInputOnFocus", boolean.class);
                method.setAccessible(true);
                method.invoke(et, false);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    
    

    activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <EditText
            android:id="@+id/result"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="40sp"
            android:enabled="false"/>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal">
    
            <Button
                android:id="@+id/cls"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="20sp"
                android:text="C"
                android:background="@drawable/buttonstytle"
                android:textColor="#ffffff"/>
            <Button
                android:id="@+id/div"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="20sp"
                android:text="/"
                android:background="@drawable/buttonstytle"
                android:textColor="#ffffff"/>
            <Button
                android:id="@+id/mul"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="20sp"
                android:text="*"
                android:background="@drawable/buttonstytle"
                android:textColor="#ffffff"/>
            <Button
                android:id="@+id/Backspace"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="20sp"
                android:text="Backspace"
                android:textAllCaps="false"
                android:background="@drawable/buttonstytle"
                android:textColor="#ffffff"/>
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal">
    
            <Button
                android:id="@+id/seven"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="20sp"
                android:text="7"
                android:background="@drawable/buttonstytle"
                android:textColor="#ffffff"/>
            <Button
                android:id="@+id/eight"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="20sp"
                android:text="8"
                android:background="@drawable/buttonstytle"
                android:textColor="#ffffff"/>
            <Button
                android:id="@+id/nine"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="20sp"
                android:text="9"
                android:background="@drawable/buttonstytle"
                android:textColor="#ffffff"/>
            <Button
                android:id="@+id/sub"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="20sp"
                android:text="-"
                android:background="@drawable/buttonstytle"
                android:textColor="#ffffff"/>
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal">
    
            <Button
                android:id="@+id/four"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="20sp"
                android:text="4"
                android:background="@drawable/buttonstytle"
                android:textColor="#ffffff"/>
            <Button
                android:id="@+id/five"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="20sp"
                android:text="5"
                android:background="@drawable/buttonstytle"
                android:textColor="#ffffff"/>
            <Button
                android:id="@+id/six"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="20sp"
                android:text="6"
                android:background="@drawable/buttonstytle"
                android:textColor="#ffffff"/>
            <Button
                android:id="@+id/add"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textSize="20sp"
                android:text="+"
                android:background="@drawable/buttonstytle"
                android:textColor="#ffffff"/>
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="2"
            android:orientation="horizontal">
    
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="vertical">
    
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:layout_weight="1"
                    android:orientation="horizontal">
                    <Button
                        android:id="@+id/one"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:textSize="20sp"
                        android:text="1"
                        android:background="@drawable/buttonstytle"
                        android:textColor="#ffffff"/>
                    <Button
                        android:id="@+id/two"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:textSize="20sp"
                        android:text="2"
                        android:background="@drawable/buttonstytle"
                        android:textColor="#ffffff"/>
                </LinearLayout>
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:layout_weight="1">
                    <Button
                        android:id="@+id/zero"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:text="0"
                        android:textSize="20sp"
                        android:background="@drawable/buttonstytle"
                        android:textColor="#ffffff"/>
                </LinearLayout>
            </LinearLayout>
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="horizontal">
                <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:orientation="vertical">
                    <Button
                        android:id="@+id/three"
                        android:layout_width="match_parent"
                        android:layout_height="1dp"
                        android:layout_weight="1"
                        android:text="3"
                        android:textSize="20sp"
                        android:background="@drawable/buttonstytle"
                        android:textColor="#ffffff"/>
                    <Button
                        android:id="@+id/spot"
                        android:layout_width="match_parent"
                        android:layout_height="1dp"
                        android:layout_weight="1"
                        android:text="."
                        android:textSize="20sp"
                        android:background="@drawable/buttonstytle"
                        android:textColor="#ffffff"/>
                </LinearLayout>
                <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1">
                    <Button
                        android:id="@+id/equal"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:text="="
                        android:textSize="20sp"
                        android:background="@drawable/buttonstytle"
                        android:textColor="#ffffff"/>
                </LinearLayout>
        </LinearLayout>
    </LinearLayout>
        </LinearLayout>
    

    buttonstytle.xml

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <!-- 主体背景颜色值 -->
        <solid android:color="#666666" />
        <!-- 连框宽度和颜色值 -->
        <stroke
            android:width="0.01dp"
            android:color="#FFFFFF" />
    </shape>
    

    ####结果分析
    启动计算器并输入运算式“59.0-8/46+2”如下图:
    这里写图片描述

    结果如下图:
    这里写图片描述

    总结

    这次做计算器收获很大,首先我对Android studio中的布局有了更深刻的认识,其次在这次编程中熟悉了怎么设置断点调试以快速的找出问题所在。当然,这次的作品也是不够成熟的,因为没有做有关错误表达式的相应处理,因为时间和精力有限,这次只能先做这么多了

    注: 今天没事又看了一下这个代码,发现问题很多,简直是惨不忍睹(希望没坑到你们)。比如直接按加、减、乘、除和等号键及后退键会闪退,刚开始一直按 “0” 可以一直输入0,同一个数中可以输入多个小数点等等,我感到很惭愧哈,本人能力有限,不过还是抽时间又改了一下,修复了这些bug,另外也优化了一些东西,上面贴的代码我已经更新了,GitHub上的源码我很快也会更新的,哪里做的不好也希望大家不吝赐教哈 -2018/11/5

    链接:源代码下载地址

    展开全文
  • 請參考壓縮檔內1.RAD Studio 10 Seattle 西雅图 RAD10UP1 架构师版 安装破解指导+官方下载+网盘.txt 即可
  • SPC5studio常见问题汇总,包括常用功能介绍,如何进行浮点运算,编译库文件,常量和函数定位,修改LinkFile等
  • 附件为 RAD Studio Xe8 up1(即 Update1)的原版下载地址,及破解工具。严格按破解步骤操作: 1、运行工具生成序列号 2、安装 Xe8 ,用生成的序列号安装。安装完后关闭安装程序。 3、关闭安装后,工具继续点“Patch ...
  • 网上各种方法 什么代理, 什么JDK, 都有说, 但是我用了之后都没办法, 最后发现目录区分大小写, 把SDK 目录大小写区分好就OK了

    网上各种方法 什么代理, 什么JDK, 都有说, 但是我用了之后都没办法,
    最后发现目录区分大小写, 把SDK 目录大小写区分好就OK了

    展开全文
  • 会**影Corel VideoStudio 官方卸载清理工具,可以解决会**影无法重装的问题,为什么要发会**影卸载清理工具,这里想帮助大家远离国内盗版的祸害,根据了解的如果您之前百度搜索“会**影”下载并进行了安装体验,请...
  • RAD Studio 10.1 Update1 Berlin 02. 架构师版安装工具 RadStudio10KeyGen
  • 注:本教程来源于澳大利亚游戏引擎工程师Cherno的视频教程,本人观看了B站UP主佐夫对原视频进行中文字幕翻译的视频教程,怕遗忘故整理了以下笔记,标明原著,保护知识产权! 要写C++,我们其实只需要一个文本文档就...
  • 亲测win10 64位 专业版可用,已安装成功顺利运行,安装前先查看目录下的Readme.txt,Lua编辑器LuaStudio最好了
  • GameMaker Studio 的免费完整版下载。 灌装说明:1.从下面的链接下载我们的zip存档,并使用7-zip或等效的解压缩程序将其解压缩。 2. 首先运行 GMStudio-Cleanup-1.0.0.0.exe 3. 现在运行 GMStudio-Standalone-1.2....
  • 今天在安装Android Studio时,发现无法下载SDK,如下图所示: 网上看了一圈后,发现是代理的问题。 我之前的代理配置为 意识到是代理的问题后,我尝试把代理配置改成自动检测URL,如下图所示: 然后就可以...
  • 下载 SQL Server Management Studio (SSMS)

    千次阅读 2018-08-10 18:12:47
    下载 SQL Server Management Studio 17.8.1 (无需在计算机上安装上一版 SSMS 17.x) Download SQL Server Management Studio 17.8.1 (no previous version of SSMS 17.x is required on the computer) 下载 ...
  • Rad_Studio_2010_Help_UP1_Downloadsversion.ini i
  • AS是今年来可以代替...这个是up主自己(C++码畜)初试Android开发的配置过程。希望对大家有帮助。 该过程也是借鉴的某位大神的免费分享,部分图片是直接从该博主处获取,见图片水印即可查看原博主的一些教程与心得
  • android studio——Failed to set up SDK

    千次阅读 2014-04-22 10:41:07
    最近使用android studio ,在IDE里面使用Gradle构建的时候,一直出现构建失败,失败信息显示Failed to set up SDK。然后 提示无法找到andriod-14平台,我更换为其他平台也是同样的错误。可是在控制台下使用gradle...
  • Chapter 2: Setting Up Your Data Chapter 3: Building HTML Applications Chapter 4: Creating Desktop Applications Part II: Working with Data Chapter 5: Quer ying Your Data Chapter 6: Writing Data-Access...
  • 小白第一次安装Android Studio提示"Nothing to do! Android SDK is up to date. SDK emulator directory is missing" 总之就是没有SDK,SDK目录不存在一类。尝试网上的解决办法就是改HTTP proxy之类的,都没法解决。...
  • 之前下载visual studio 2019时手贱去改了文件名,结果安装包找不到路径了没下载完,然后试着恢复结果不行,只能卸载,去控制面板删一直也没删干净,又去C盘删还是不能重新安装(软件安在D盘,C盘visual studio)在...
  • 如果遇到灾难性错误,并且无法修复或卸载 Visual Studio,可运行 InstallCleanup.exe工具,以删除 Visual Studio 2017 或 Visual Studio 2019 的所有已安装实例的安装文件和产品信息。 警告 InstallCleanup 工具仅...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,420
精华内容 20,968
关键字:

studio下载up