Xamarin.Android开发实践(十三)】的更多相关文章

原文:Xamarin.Android开发实践(五) 一.服务的生命周期 服务与活动一样,在它的整个生命周期中存在着一些事件,下图可以很好解释整个过程以及涉及到的方法: 在真实的使用中,Service来还包含一个OnBind方法,并且必须要使用该方法,但是只要返回NULL即可,除非当前服务是一个绑定服务,那么就要返回实现了IBinder的实例. 二.回调方法的总结 上图中涉及到了几个方法,下面将做简单的介绍: OnCreate:只会在服务第一次开启的时候调用,主要负责一些初始化代码 OnStart…
原文:Xamarin.Android开发实践(四) Xamarin.Android下获取与解析JSON 一.新建项目 1.新建一个Android项目,并命名为为NetJsonList 2.右击引用,选择添加引用,引用System.Json.dll 二.同步请求 既然是跨平台,我们自然不能按照java下的方式进行编写,否则如何跨平台呢,所以我们需要使用Syste.Net命名空间下的两个类:HttpWebRequest和HttpWebResponse. 首先打开Resources/layout/Ma…
原文:Xamarin.Android开发实践(三) 一.前言 用过Android手机的人一定会发现一种现象,当你把一个应用置于后台后,一段时间之后在打开就会发现应用重新打开了,但是之前的相关的数据却没有丢失.可以看出app的“生命”是掌握在系统手上的,而不像Windows上开发的程序. 二.活动的生命周期 这里我们借助一张图帮助我们理解: 当然很多人现在还看不懂这张图,下面我们会逐一介绍: 1.OnCreate 这个方法是打开活动后第一个执行的事件,当然也是我们必须重写的一个方法,其中它大致负责…
原文:Xamarin.Android开发实践(二) 一.准备 开始学习本教程前必须先完成该教程http://www.cnblogs.com/yaozhenfa/p/xamarin_android_quickstart.html 否则将无法继续. 二.界面 1.打开Resources/layout/Main.axml文件,并在Call Button下方继续加入一个按钮,并设置其id为@+id/CallHistoryButton同时设置Text为@string /callHistory(这个其实是一…
原文:Xamarin.Android开发实践(一) 一.准备工作 1.创建一个空的解决方案,并命名为Phoneword 2.右击解决方案 新建->新建项目 并命名为Phoneword_Droid 二.界面 1.打开Resources文件夹->layout文件夹双击打开Main.axml 2.然后将会出现下面的界面 3.接着我们选择这个Button并删除(按下Delete),并从左边的工具箱中拖拽一个 Text(Large) 控件到该界面中,如下所示: 4.同时还要通过属性窗口修改Text的值:…
Xamarin.Android之SQLite.NET ORM 一.前言 通过<Xamarin.Android之SQLiteOpenHelper>和<Xamarin.Android之ContentProvider>的 学习,我们已经掌握了如何使用特定于该平台的数据库操作.但是这样却和Xamarin所宣称的跨平台相违背了,因为这样我们就需要针对不同的平台编写不同 的代码,而本章将使用Github上的开源项目SQLite.NET去解决这个问题,从而可以实现跨平台,减少代码的重复. 关于该…
Xamarin.Android之定位 一.前言 打开我们手中的应用,可以发现越来越多的应用使用了定位,从而使我们的生活更加方便,所以本章我们将学习如何在Xamarin中进行定位的开发. 二.准备工作 因为我们的虚拟机是运行在电脑本地的,自然就没法进行定位了,但是我们可以借助DDMS这个工具帮助我们去调试. 首先要确定你的Android SDK所在的目录,读者可以通过以下方式找到: 工具->选项 然后读者打开该文件夹下的tools文件夹,我们就可以看到里面有很多以bat结果的文件,这个时候我们打开…
Xamarin.Android学习之应用程序首选项 一.前言 任何App都会存在设置界面,如果开发者利用普通控件并绑定监听事件保存设置,这 一过程会非常的枯燥,而且耗时.我们可以看到Android系统的设置界面里面的选项如此之多,是不是都是这样开发的呢?其实不然,Android已经给 我们提供了专门设计这一功能的技术,叫应用程序首选项,今天我们将学习如何使用他们来开发配置界面以及功能. 二.准备工作 首先需要理解的就是我们设置界面还是需要控件的,但是我们所使用的控件不在是普通的控件,下面我们来简…
Xamarin.Android之ListView和Adapter 一.前言 如今不管任何应用都能够看到列表的存在,而本章我们将学习如何使用Xamarin去实现它,以及如何使用适配器和自定义适配器(本文中的适配器的主要内容就是将原始的数据转换成了能够供列表控件显示的项). 二.简介适配器 在开始之前我们需要先了解下适配器,首先是提供给我们使用的适配器之间的关系: 下面我们将上面的适配器进行简单的介绍: BaseAdapter:顾名思义,就是所以适配器的基类,但是我们不能将其实例化,因为它是一个虚类…
Xamarin.Android之使用百度地图起始篇 一.前言 如今跨平台开发层出不穷,而对于.NET而言时下最流行的当然还是 Xamarin,不仅仅能够让我们在熟悉的Vs下利用C#开发,在对原生态类库的支持方面也有着非常的好支持,今天我们将会以百度地图类库来介绍如何实用 第三方原生态类库.如果需要在Fragment中使用请跳转到(由网友monosir提供)该篇文章. 二.正文 笔者采用的是3.0.0的版本,需要以下文件: baidumapapi_v3_0_0.jar libBaiduMapSDK…
Xamarin.Android之ActionBar与菜单 一.选项卡 如今很多应用都会使用碎片以便在同一个活动中能够显示多个不同的视图.在 Android 3.0 以上的版本中,我们已经可以使用ActionBar提供的Tab来实现这种效果,而不需要我们自己去实现碎片的切换.ActionBar默认是不具备选项 卡功能的,所以我们需要给一个属性赋上对应的枚举,比如下面的方式将开启选项卡. 1 ActionBar.NavigationMode = ActionBarNavigationMode.Tab…
Xamarin.Android其他类型的服务 一.前言 前面我们已经学了关于服务的很多知识,但是对于真实的开发那些远远不够,通过这节我们将学习其他类型的服务,比如前台服务.IntentService和消息服务.下面我们开始进入正题. 二.前台服务 顾名思义,就是拥有前台的优先等级.当然服务还是不可见的.因为前面我们介绍过 Android系统会在低内存的情况下将一些长时间不用的应用关闭,如果还是不够,那么就会通过关闭服务服务来达到目的,然而对于某些应用而言,这样将会 影响用户的正常使用.比如听音乐…
Xamarin.Android广播接收器与绑定服务 一.前言 学习了前面的活动与服务后,你会发现服务对于活动而言似乎就是透明的,相反活动对于服务也是透明的,所以我们还需要一中机制能够将服务和活动之间架起一座桥梁,通过本节的学习,你将会学到广播与绑定服务,这两种方式恰恰是解决上面问题的关键. 二.简单的广播接收器 实现一个最简单的广播接收器需要继承BroadcastReceiver类,并且还要实现OnReceive方法,我们可以在项目中新建一个MainReceiver类,然后写入如下代码: 1 p…
Xamarin.Android之SlidingMenu 一.前言 有位网友在评论中希望能够出个在Xamarin.Android下实现SlidingMenu效果的随笔,刚好昨天在观看官网示例项目的时候也看到这个SlidingMenu,但是最终的效果并不是我们所期待的,至此笔者就在官方的论坛中寻找,最后也成功的寻找到的答案,下面笔者将带领带领大家实现SlidingMenu. 二.准备工作 实现SlidingMenu重点是需要一个第三方的类库,笔者已经把部分重要的方法注释了,下面是下载地址: 从Git…
Xamarin.Android之Fragment Walkthrough 利用Fragment设计能够兼容不同屏幕的应用 这里我们先围观下最后的成果图,给读者打打气: 普通手机上显示的结果: 在平板上显示的结果: 笔者要郑重声明下,虽然看似是两种不同的显示效果,但是同一个应用,而下面笔者将逐步教会大家如何利用Fragment制作出能够兼容不同屏幕的应用. 准备工作 创建一个项目是必不可少的,并且Android SDK的版本要在3.0以上,建议是4.0因为笔者设定的就是4.0,新建完成之后项目会自…
Xamarin.Android之ContentProvider 一.前言 掌握了如何使用SQLiteOpenHelper之后,我们就可以进行下一步的学习.本章我们将会学习如何使用ContentProvider来将数据库方面的操作封装起来,同时它还可以供其他应用访问并操作数据库. 二.概念 首先我们不会急于写代码,而是要搞懂如何利用ContentProvider对数 据库进行操作,因为我们不会直接操作数据库对象,而是通过URI来操作数据库.这就好比你要获取User表的全部内容,那么这个URI就是…
Xamarin.Android之SQLiteOpenHelper 一.前言 在手机中进行网络连接不仅是耗时也是耗电的,而耗电却是致命的.所以我们就需要数 据库帮助我们存储离线数据,以便在用户未使用网络的情况下也可以能够使用应用的部分功能,而在需要网络连接的功能上采用提示方式,让用户决定是否打开网 络.而本节我们将会学习如何访问数据库以及提供基本的增删改查功能,并且使他们尽量的解耦. 二.数据库 Xamarin.Android下创建本地数据库与在Java下的方式相同,而我们必须掌握使用SQLite…
Xamarin.Android通知详解 一.发送通知的机制 在日常的app应用中经常需要使用通知,因为服务.广播后台活动如果有事件需要通知用户,则需要通过通知栏显示,而在Xamarin.Android下的通知需要获取NotificationManager服务,而该服务需要通过GetSystemService获取,同时还要传递一个标识符.获取了通知管理器后我们就可以实例化Notification,然后再由NotificationManager发送出去.这就是整个过程了.下面我们将一一详解通知. 二…
原文链接:Hello, Android Multiscreen_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android Multiscreen深入理解. 本部分介绍利用Xamarin.Android处理导航 Hello,Android Multiscreen Deep Dive 在Hello,Android Multiscreen Quickstart中,我们建立并运行了我们第一个多屏Xamarin.Android应用.接下来我们将深入理解Androi…
返回索引目录 原文链接:Hello, Android_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android深入理解 本部分介绍利用Xamarin开发Android应用程序 Hello, Android Deep Dive 在Hello, Android Quickstart(原文,译文)中,我们创建并运行了我们第一个Xamarin.Android应用程序.现在我们对Android应用如何工作进行进一步学习了解,以便于我们开发更加复杂的程序. 在本指南…
返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发Android应用程序 Hello, Android Quickstart 在指南的第一部分,我们创建一个打电话的应用,基础功能为:将输入含有字母和数字的电话号码转化为纯数字号码,然后拨打此号码.最终界面如下: 下面开始练习. 系统及环境要求 Xamarin.Android需要以下任一环境 系统:OS…
Xamarin Android开发实战(上册)大学霸内部资料   试读文档下载地址:http://pan.baidu.com/s/1jGEHhhO 密码:vcfm 介绍: 本教程是国内唯一的Xamarin Android开发专向教程.本教程详细讲解如何基于Windows系统,在Visual Studio 2013开发环境中,使用Xamarin开发Android应用APP.    目  录 第1章  Xamarin开发Anroid应用介绍 1 1.1  Xamarin基本知识 1 1.1.1  X…
接上一篇 <Android 开发实践 ViewGroup 实现左右滑出窗口(一)http://www.cnblogs.com/inkheart0124/p/3532862.html> 源码: http://files.cnblogs.com/inkheart0124/PushSlider.zip ViewGroup中touch事件的处理,有三个函数 public boolean dispatchTouchEvent(MotionEvent ev):事件派发 public boolean onI…
利用假期把以前做的东西总结整理一下,先从简单的开始吧.实现的效果是这样的:   做了个截屏动画,比例有点不对了,凑合着看吧. 整个窗口有3部分组成,中间的主界面是个列表,左边的滑出界面是个菜单,右边的滑出界面是编辑框等.左边菜单是半屏的,右边的是全屏的.最后其实我只用到了左边的滑出窗口,但还是把左右的算法都做全了.并且设计了一个方法,让activity可以指定两个滑出窗口的宽度. 源码: http://files.cnblogs.com/inkheart0124/PushSlider.zip 一…
vs2019开发 入门教程 https://docs.microsoft.com/zh-cn/xamarin/android/get-started/installation/android-emulator/device-manager?tabs=windows&pivots=windows 使用使用 Android Device Manager 管理虚拟设备 创建完成直接启动是会异常的 创建后.关闭窗口, 直接单击,或者F5,其实就是在创建的时候弹窗口,提示你创建Device 如果你提前创建…
开始环境vs2017 直接创建android 项目,左边是android studio 的项目目录  右边是vs创建的android 项目目录 结构基本相同,有res对应的Resources文件 加载布局 android studio  setContentView(R.layout.activity_login) xamarin android   SetContentView(Resource.Layout.activity_login) 项目中初始化控件基本写法一样 android stu…
开发 1.Resource.Id未包含xxx的定义 打开了一个OK的Id,是位于\obj\Debug\90\designtime\Resource.designer.cs ,打开文件搜索xxx,果然没有. 删除此文件 重新生成项目,并没有重新生成Resource.designer.cs 解决方法: 删除整个obj文件夹,重新生成项目: 或者重启VS,自动重新生成Resource.designer.cs了,并且含有xxx 2.Button文本默认大写 参考:xamarin forms中的Butto…
使用 Visual Studio 生成第一个 Xamarin.Android 应用程序,并进一步了解使用 Xamarin 进行 Android 应用程序开发的基础知识.在此过程中,会介绍生成和部署 Xamarin.Android 应用程序所需的工具.概念和步骤. 第 1 部分:快速入门 在本指南的第一部分,用户将创建一个应用程序,该应用程序可将用户输入的字母数字电话号码转换为数字电话号码,然后呼叫该号码. 第 2 部分:深入了解 在本文档的第二部分,将回顾生成的应用程序,并从根本上了解 Andr…
原文链接:Hello, Android Multiscreen Quickstart. 译文链接:Hello,Android Multiscreen快速上手 本部分介绍利用Xamarin.Android处理导航 Hello, Android Multiscreen Quickstart 在指南的第一部分,我们将为Phoneword添加第二个屏幕 -- 关于电话历史的跟踪情况.最终的应用会有第二个屏幕来展示拨打历史.最终界面如下: 下面开始练习. 系统及环境要求 由于本教程将在Hello,Andr…
转载:http://www.linuxidc.com/Linux/2014-03/97561.htm Android开发中,经常会在Java代码与Jni层之间传递数组(byte[]),一个典型的应用是Java层把需要发送给客户端的数据流传递到Jni层,由Jni层的Socket代码发送出去,当然,Jni层也需要把从Socket接收到的数据流返回给Java层.我简单地总结了一下,从Java层到Jni层,从Jni层到JAVA层,各有3种传递方式,下面用代码示例简单地介绍一下. 示例代码的主要文件有两个…