首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android训练课程(Android Training) - 构建你的第一个应用

    开始第一课 Start the first lesson › 创建一个安卓项目 一个安卓项目包含了由源代码组成的的你的应用的全部文件。...让输入框填满屏幕宽度 这个布局是最近的设计,这样包括EditText和Button两个小组件仅仅按需要去适应他们的内容的大小,像图表2展示的这样: 图表2.EditText和Button小组件的宽度被设置为...你可以为安卓的旧版本提供相同的导航行为,使用 Support Library 和 展示的那样来添加元素。...注意: 你的安卓SDK可能已经包含了最近的安卓支持库(support library)。...图表2 。 在最终的应用程序里的两个activity,运行在安卓4.4 这就是了,你完成构建里你的第一个安卓应用!

    2.2K00

    安卓第八夜 玛丽莲梦露

    我们用setOnClickListener的方法,让MainActivity同时监听两个按钮的点击事件。当事件触发后,安卓调用onClick()方法。...这个问题可以通过动态布局的方式,用addView()方法,把视图元素加到视图树中。视图元素的动态添加,会导致安卓本身的效率会变慢。 我将使用ListView来重复利用构图方式。...需要注意的是第二个参数android.R.layout.simple_list_item_1,它是安卓框架自己提供的一个简单的XML布局,包含了一个TextView元素。...未来的字符串型数据按照该视图元素规定的格式显示。这个布局的源代码可参考链接。安卓还提供了其它一些简易的布局,参考链接。我们当然可以用自己的布局来替代它。...使用setTag()优化CategoryAdapter 上面已经提到,ArrayAdapter可以通过重复利用条目视图,来优化安卓应用的效率。

    1.9K90

    安卓第八夜 玛丽莲梦露

    我们用setOnClickListener的方法,让MainActivity同时监听两个按钮的点击事件。当事件触发后,安卓调用onClick()方法。...这个问题可以通过动态布局的方式,用addView()方法,把视图元素加到视图树中。视图元素的动态添加,会导致安卓本身的效率会变慢。 我将使用ListView来重复利用构图方式。...需要注意的是第二个参数android.R.layout.simple_list_item_1,它是安卓框架自己提供的一个简单的XML布局,包含了一个TextView元素。...未来的字符串型数据按照该视图元素规定的格式显示。这个布局的源代码可参考链接。安卓还提供了其它一些简易的布局,参考链接。我们当然可以用自己的布局来替代它。...使用setTag()优化CategoryAdapter 上面已经提到,ArrayAdapter可以通过重复利用条目视图,来优化安卓应用的效率。

    61710

    基于 HTML5 的 3D 工业互联网展示方案

    Predix 就像工业数据领域的 iOS 或者安卓系统一样,能够让工程师自己建立模型和应用,打通前方数以万计的传感器和后方每天增加超过 5000 万条的数据库。...(相对于右侧下部分最根层 div),包含中间显示 3d 部分 graph3dView、双击货柜或货物才会出现的 shelfPane、以及出现在右下角的图表 chartPane,将这三部分添加进 RelativeLayout...relativeLayout.addView(shelfPane, {// 将双击出现的详细信息 shelfPane 组件添加进relativeLayout 相对布局器 width: 220...();// 将 borderLayout 添加进 body 体中  我们具体说说这个相对布局器内部包含的 3d 部分 graph3dView、双击货柜或货物才会出现的 shelfPane、以及出现在右下角的图表...回到正题,chartPane 图表面板的实现非常容易,将内部的子组件设置背景图片再添加进 chartPane 图表面板中即可: import Pane from '.

    2.7K20

    C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码

    正文 嗯..今天我会拿一个项目中的例子出来讲. 说说原因吧,因为在谷歌的安卓开发建议中,是建议类似tab切换操作,是放在顶部的....既然要移动到下面,那么我们肯定需要重写相关的内容,我们可以找到开源的Xamarin控件BottomNavigationBar 做过安卓的应该都知道,这个是一个安卓中比较流行的控件,嗯..直接被移植到了Xamarin...中 我们在安卓的项目下,通过nuget添加这个包如下: ?...Title; } } 啥也不用干,就重写一下页面变更事件,改写一下title而已,很常见的代码. 然后我们回到安卓的项目下....在注意:我们这里因为是重写布局,所以要继承VisualElementRenderer 接下来我们直接上MainPageRenderer 的完整代码,因为内容较多..涉及的方面也比较多.嗯..包含一些安卓方面的重绘之类的

    1.3K70

    这到底是前端还是后端Bug

    3xx Redirection 重定向状态码 需要进行附加操作以完成请求 4xx Client Error 客户端错误状态码 服务器无法处理 5xx Server Error 服务端错误状态码 服务器处理请求出错...然后查看接口返回结果是否正确,如果接口返回结果中某字段和接口文档对不上,那就是后端的问题 再教大家一个小技巧,如果是测试APP的话,可以拿出一台安卓手机以及一台苹果手机,如果问题只在安卓手机上出现,而苹果手机正常...前端 接口响应HTTP状态码为4xx 前端 接口请求参数传入错误 前端 问题只在单端出现(安卓出现,IOS正常) 后端 接口返回字段错误 后端 接口响应HTTP状态码为5xx 前后端问题排查思路 前面我们谈到了如何定位前端还是后端问题...,如果是安卓APP,可以使用数据线连接手机,使用Android Studio选择 Logcat 工具抓取到日志,也可以使用ADB命令,导出APP所产生的日志;如果是IOS系统,则可以使用Xcode工具...文件 使用tail -f filename打开log文件查看内容,也可以使用grep keyword filename --color=auto只搜索关键词信息,还可以把两个命令结合起来使用tail -

    1.2K21

    APP渗透

    一般来说,先将安卓设备中的文件复 制到有鼠标的主机上,方便查看。 首先查看相关文件的权限配置。...密码安全 键盘劫持 测试客户端程序在密码等输入框是否使用自定义软键盘。安卓应用中的输入框默认使用 系统软键盘,手机安装木马后,木马可以通过替换系统软键盘,记录手机键盘输过的密码。...当随机布局软键盘对用 户点击产生视觉响应时,安卓木马可以通过连续截屏的方式,对用户击键进行记录,从而获得用户输入 使用adb截图。...我们多次尝试输错密码 看看app是否会限制登陆错误次数。限制则此项安全 问题验证 测试对账号某些信息(如单次支付限额)的修改是否有私密问题验证。私密问题验证是 否将问题和答案一一对应。...如果会清空账号密码,会自动注销 为安全 UI信息泄露 检查客户端的各种功能,看是否存在敏感信息泄露问题。 使用错误的登录名或密码登录,看客户端提示是否不同。

    1K10

    C001Android学习笔记-初级控件(一)

    一、屏幕显示 1、像素 安卓支持的像素单位: px(像素)、in(英寸)、mm(毫米)、pt(磅,1/72英寸)、dp(与设备无关的显示单位)、dip(就是dp)、sp(用于设置字体大小); 安卓常用的三种像素单位...: px:手机屏幕上可显示的最小单位; dp:按照屏幕尺寸计量,与物理设备无关; sp:原理跟dp差不多,专用于设置字体大小; 2、颜色 概述: 安卓中的颜色由透明度alpha和RGB(红、绿、蓝)组成...已经是最后一次,其内不能再包含其他子控件或者子视图; ViewGroup视图组: 所有布局视图类都是从ViewGroup派生而来的; ViewGroup的三个方法(也是所有布局类视图共有的方法): addView...:往布局中添加一个视图; removeView:从布局中删除指定视图; removeAllViews:删除该布局下的所有视图; 2、线性布局LinearLayout LinearLayout是最常用的布局...是无效的,可以添加: android:fillViewport="true"

    6610

    搭建安卓开发环境(Android Studio)

    使用android studio搭建安卓开发环境十分简单,当然jdk是必备的,然后去http://developer.android.com下载android studio安装。...了解安卓程序 还记得之前我们在AndroidManifest.xml中注册的主Activity吗?...安卓的系统四大组件分别是 Activity(活动,是程序的门面),Service(服务,在后台默默运行的),Broadcast Receiver(广播接收器,接收来自各处的广播消息,包括别的应用程序),...至此,我们已经搭建完安卓的开发环境,并且基本了解了一个安卓程序的结构。 重要的东西:Log Log,Log,Log重要的东西说三遍,现在来看看如何在安卓程序中添加Log。...,表示错误信息,对应Log.e() 之后运行程序,可以看到android studio中下面有个窗口叫logcat,里面飞速的打印了一大堆信息,等程序启动完,我们的主Activity已经创建完毕了,信息停了

    2.1K70

    安卓入门-熟悉Android Studio以及创建第一个安卓模块

    下面是安卓的创建活动界面,可以看到,Android Studio提供了很多种内置模板,不过由于我们才刚刚开始学习,用不着这么多复杂的模板,这里直接选择Empty Activity来创建一个空的活动就可以了...) 1.3 安卓项目文件的第一次分析  接下来我们来查看AndroidManifest.xml文件,也就是整个安卓项目的配置文件。  ...比如我们的项目包含了ModuleA和ModuleB这两个模块,则这个文件中会包含这样的语句:include ‘:ModuleA’, ‘:ModuleB’。...minSdkVersion 15//当前项目的最低兼容的安卓系统版本 targetSdkVersion 29//目标版本号,意味着此模块所有特性在此安卓版本上最好...Log.e() 用于打印程序中的错误信息,比如程序进入到了catch语句当中。当有错误信息打印出来的时候,一般都代表你的程序出现严重问题了,必须尽快修复。对应级别error,比warn高一级。

    2K30

    解读Android 12首个开发者预览版

    在之前版本的系统下,用户启动安卓的沉浸模式,默认需要的手势操作是:从屏幕侧方滑入,退出沉浸模式,然后再返回上一个界面。...图左:Android 12 开发者预览版,图右:Android 11 之前,开发者能自定义整个通知栏区域的布局和样式,这就导致了不同设备的兼容适配问题以及用户的浏览不适应问题。...组件需要添加 exported 配置 target=12时,使用的activity 、service或者广播有用到 intent filters ,则需声明 android:exported 属性。...不配置的话,在安卓 12 设备上将不能安装,logcat 也会打印错误日志: Targeting S+ (version 10000 and above) requires that an explicit...也欢迎更多的开发者和我们一起交流和探索Android及移动开发新技术,共同建设更好的安卓开发生态。 *本文图片来源于Android官网

    1.9K30

    ApacheCN 安卓译文集(二)20211226 更新

    七、性能考虑 八、分享我们的定制视图 九、实现你自己的 EPG 十、构建图表组件 十一、创建三维转轮菜单 探索安卓安全改进 零、前言 一、Linux 访问控制 二、强制访问控制和 SELinux 三...七、添加外部库 八、签署和分发 APK UDOO 入门手册 零、前言 一、启动引擎 二、了解你的工具 三、测试您的物理应用 四、使用传感器监听环境 五、管理与物理组件的交互 六、打造家庭自动化的超时空机器...七、使用安卓 API 的人机交互 八、添加网络功能 Spring 安卓即时入门 一、Spring 安卓即时入门 安卓意图学习手册 零、前言 一、了解安卓 二、安卓意图介绍 三、意图及其分类 四、移动组件和意图...安卓 UI 开发 零、前言 一、开发简单的活动 二、为视图展示数据 三、将专门的安卓小部件用于开发 四、利用活动和意图 五、开发非线性布局 六、验证和处理输入数据 七、为动画制作小部件和布局 八、设计以内容为中心的活动...:安全性和安卓权限 十、避免问题:调试和资源考虑 十一、最终考虑:应用编译和分发 安卓片段管理即时操作指南 零、前言 一、安卓片段管理即时操作指南 安卓画布学习手册 零、前言 一、安卓画布入门 二、

    2.7K20

    基于 HTML5 WebGL 的 3D 仓储管理系统

    (相对于右侧下部分最根层 div),包含中间显示 3d 部分 graph3dView、双击货柜或货物才会出现的 shelfPane、以及出现在右下角的图表 chartPane,将这三部分添加进 RelativeLayout...relativeLayout.addView(shelfPane, {//将双击出现的详细信息 shelfPane 组件添加进relativeLayout 相对布局器 width: 220,...(chartPane, {//将图表 chartPane 组件添加进relativeLayout 相对布局器 width: 220, height: 200, align: 'right...);//将 borderLayout 添加进 body 体中  我们具体说说这个相对布局器内部包含的 3d 部分 graph3dView、双击货柜或货物才会出现的 shelfPane、以及出现在右下角的图表...回到正题,chartPane 图表面板的实现非常容易,将内部的子组件设置背景图片再添加进 chartPane 图表面板中即可: import Pane from '.

    3.6K51

    玩转LayoutInflater

    (itemMain) } } 上述代码我们使用了两个参数的 inflate 重载方法,第二个参数 root 传了一个 null ,然后把当前布局添加到 Activity 中,运行看下效果: ?...嗯,现在达到了我们预期的效果 现在回到上面那两个问题,分析发现是 LayoutInflater inflate 方法传了不同的参数导致的,那这些参数到底有什么玄乎的地方呢?...,只是没有被添加到任何其他 View 中 如果传入的 root 不为 null 且 attachToRoot 为 true,此时会将 Xml 布局生成的根 View 通过 addView 方法携带布局参数添加到...注意:此时 Xml 布局生成的根 View 既没有被添加到其他 View 中,也没有设置布局参数,那么它的布局参数将会失效 明白了上面这些知识点,我们在看下为啥为会出现之前那些问题 问题分析 问题 1...为 false,此时会给 Xml 布局生成的根 View 对象设置布局参数 此时根 View 的布局属性会生效,只不过没有被添加到任何 View 中,而又因为 MainActivity 中调用了 addView

    48240

    《Android编程权威指南》之Android应用的调试篇

    异常与栈跟踪 写代码嘛,一个不注意就把程序写奔啦,不用担心,展开Logcat工具窗口。上下滑动LogCat窗口滚动条,就能看到整片红色的异常或错误信息。...随意推荐两个: logger :https://github.com/orhanobut/logger LogCat:https://github.com/liangjingkanji/LogCat 设置断点...;缺点是,必须学习如何添加日志记录函数,重新编译、运行应用并跟踪排查应用问题。...R类的问题 资源编译错误有时会一直存在或莫名其妙地出现时候,可尝试的操作: 重新检查资源文件中XML文件的有效性 清理项目(Build -> Clean Project) 使用Gradle同步项目(Sync...layout inspector 还有有用的,分析布局,还有个调试布局不错的工具,在sdk->tools->bin->uiautomatorviewer,打开这个东西,也可以分析布局,结合使用。

    89220

    基于 HTML5 WebGL 的 3D 仓储管理系统

    (相对于右侧下部分最根层 div),包含中间显示 3d 部分 graph3dView、双击货柜或货物才会出现的 shelfPane、以及出现在右下角的图表 chartPane,将这三部分添加进 RelativeLayout...relativeLayout.addView(shelfPane, {//将双击出现的详细信息 shelfPane 组件添加进relativeLayout 相对布局器 width: 220,...(chartPane, {//将图表 chartPane 组件添加进relativeLayout 相对布局器 width: 220, height: 200, align: 'right...);//将 borderLayout 添加进 body 体中  我们具体说说这个相对布局器内部包含的 3d 部分 graph3dView、双击货柜或货物才会出现的 shelfPane、以及出现在右下角的图表...回到正题,chartPane 图表面板的实现非常容易,将内部的子组件设置背景图片再添加进 chartPane 图表面板中即可: import Pane from '.

    3.6K30

    再看LayoutInflater,这次你可能又会有新的认识

    每个布局都可以包含若干个子布局,每个子布局又可以继续包含子布局,以此构建出任意样式的View呈现给用户。 因此,我们大致可以明白,每个布局它都是要有一个父布局的。...那自然是没有办法去展示的,所以只能后面再用addView的方式将它添加到某个现有的布局下面。又或者你inflate出来的布局就是个顶层布局,所以它不需要有父布局。...但是前面也说了,一个布局如果没有父布局的话没办法显示出来呀,所以我们又使用了addView()方法将它添加到了一个现有布局当中。...平时我们经常使用layout_width和layout_height来设置View的大小,并且一直都能正常工作,就好像这两个属性确实是用于设置View的大小的。...为什么修改第三个参数之后会出现这样的错误呢?我们现在就来分析一下。 首先关注一下第三个参数的名字是什么,attachToRoot。从字面意思上看,是在问我们是否要添加到root上面。

    63100

    APP安全检测手册

    4.2名词解释 1.组件:安卓APP以组件为单位进行权限声明和生命周期管理; 2.组件的作用:安卓系统的组件共有四种,其主要用途分别为: Activity:呈现可供用户交互的界面,是最常见的组件; Service...PC目录名 //从安卓设备中复制文件到电脑中** 然后使用WinHex打开 ?...安卓应用中的输入框默认使用系统软键盘,手机安装木马后,木马可以通过替换系统软键盘,记录手机键盘输过的密码。 6.1.2 测试步骤 通常来说,只有使用系统输入法的编辑框才能够进行键盘码记录。...当随机布局软键盘对用户点击产生视觉响应时,安卓木马可以通过连续截屏的方式,对用户击键进行记录,从而获得用户输入。...7.7 UI信息泄露 7.7.1 描述 检查客户端的各种功能,看是否存在敏感信息泄露问题。 7.7.2 测试步骤 人工测试。使用错误的登录名或密码登录,看客户端提示是否不同。

    4.1K42
    领券