app后台开发入门

article/2025/10/2 13:01:52

2017/5/1第二次更新

前言:

在我写下这篇文章之前,我头脑中的app后台开发,有且只有一个流程“客户端Cilent向服务器Server请求数据,服务器Server响应客户端请求并返回json数据”。但是,仅仅用语言描述出这个流程,对开发没有任何实质性的帮助。

所以不夸张的说,对于app后天开发,我完完全全是零基础。小白小白还是小白。

我是小白,这点毋庸置疑,但是只要对一些概念有一定的了解,后台开发还是有戏的。

1: 提前做好刻苦学习的心理准备。因为后台开发的细节确实很多!


正文:

下面我罗列几个当初困扰我的问题,虽然有的现在看来不必要,但是难免其他人会问到。所以就留在那里,不打算删掉。

  • 问1:后台开发和服务器开发有什么区别和联系?
    答:对于新手,你可以认为他俩么有区别,是一个东西,区不区分清楚对你学习app后台开发没什么影响。
    这里写图片描述
    如果非要严谨点区分:
    这里写图片描述

  • 问2:http服务器,web服务器,应用服务器有什么区别?
    答:为什么叫http服务器呢?是因为该服务器支持http协议,所以这样命名。就像支持ftp协议的叫ftp服务器。web服务器是指同时支持http,https,ftp等多种协议的服务器。web服务器支持多种协议,自然要比单一的http服务器要强大。对于初学者,是否区分清楚web服务器http服务器的区别,对开发过程基本没有影响。
    注释:(http服务器==web服务器)
    这里写图片描述
    更多web(http)服务器与应用服务器的关系

  • 问3:web后台开发和手机app后台开发(也就是服务器开发)有什么区别?
    答:不严谨的说,web后台开发和app后台开发有区别,但区别不大。
    这里写图片描述

  • 问4:app后台怎么开发
    《App后台开发运维和架构实践》作者主页链接
    《Android 和PHP 开发最佳实践》第二版
    就我个人来说,上面两本书作用不是很大,看看就行,先别着急买。

  • 问5:app后台开发教程
    android 后台开发简单教程

  • 问6:app后台开发路线
    这里写图片描述

  • 问7:app和服务器如何通讯?
    这里写图片描述

  • 问8:api如何调调试?
    百度在线api测试平台,浏览器api测试插件。

  • 问9:app后台开发长啥样子
    答:后台开发语言有很多,这里以PHP为例,通过代码简单介绍app后台基本原理
    安卓流程


php处理请求返回json数据

这里写图片描述

php返回的json数据

{"products": [{"pid": "1","name": "iPhone 4S","price": "300.00","created_at": "2012-04-29 02:04:02","updated_at": "0000-00-00 00:00:00"},{"pid": "2","name": "Macbook Pro","price": "600.00","created_at": "2012-04-29 02:04:51","updated_at": "0000-00-00 00:00:00"},{"pid": "3","name": "Macbook Air","price": "800.00","created_at": "2012-04-29 02:05:57","updated_at": "0000-00-00 00:00:00"},{"pid": "4","name": "OS X Lion","price": "100.00","created_at": "2012-04-29 02:07:14","updated_at": "0000-00-00 00:00:00"}],"success": 1
}

app源码

AllProductsActivity.javapublic class AllProductsActivity extends ListActivity {// Progress Dialogprivate ProgressDialog pDialog;// Creating JSON Parser objectJSONParser jParser = new JSONParser();ArrayList<HashMap<String, String>> productsList;// url to get all products list//向服务器上的get_all_products.php发出请求,然后才能得到json数据private static String url_all_products = "http://api.androidhive.info/android_connect/get_all_products.php";// JSON Node namesprivate static final String TAG_SUCCESS = "success";private static final String TAG_PRODUCTS = "products";private static final String TAG_PID = "pid";private static final String TAG_NAME = "name";// products JSONArrayJSONArray products = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.all_products);// Hashmap for ListViewproductsList = new ArrayList<HashMap<String, String>>();// Loading products in Background Threadnew LoadAllProducts().execute();// Get listviewListView lv = getListView();// on seleting single product// launching Edit Product Screenlv.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {// getting values from selected ListItemString pid = ((TextView) view.findViewById(R.id.pid)).getText().toString();// Starting new intentIntent in = new Intent(getApplicationContext(),EditProductActivity.class);// sending pid to next activityin.putExtra(TAG_PID, pid);// starting new activity and expecting some response backstartActivityForResult(in, 100);}});}// Response from Edit Product Activity@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);// if result code 100if (resultCode == 100) {// if result code 100 is received// means user edited/deleted product// reload this screen againIntent intent = getIntent();finish();startActivity(intent);}}/*** Background Async Task to Load all product by making HTTP Request* */class LoadAllProducts extends AsyncTask<String, String, String> {/*** Before starting background thread Show Progress Dialog* */@Overrideprotected void onPreExecute() {super.onPreExecute();pDialog = new ProgressDialog(AllProductsActivity.this);pDialog.setMessage("Loading products. Please wait...");pDialog.setIndeterminate(false);pDialog.setCancelable(false);pDialog.show();}/*** getting All products from url* */protected String doInBackground(String... args) {// Building ParametersList<NameValuePair> params = new ArrayList<NameValuePair>();// getting JSON string from URLJSONObject json = jParser.makeHttpRequest(url_all_products, "GET", params);// Check your log cat for JSON reponseLog.d("All Products: ", json.toString());try {// Checking for SUCCESS TAGint success = json.getInt(TAG_SUCCESS);if (success == 1) {// products found// Getting Array of Productsproducts = json.getJSONArray(TAG_PRODUCTS);// looping through All Productsfor (int i = 0; i < products.length(); i++) {JSONObject c = products.getJSONObject(i);// Storing each json item in variableString id = c.getString(TAG_PID);String name = c.getString(TAG_NAME);// creating new HashMapHashMap<String, String> map = new HashMap<String, String>();// adding each child node to HashMap key => valuemap.put(TAG_PID, id);map.put(TAG_NAME, name);// adding HashList to ArrayListproductsList.add(map);}} else {// no products found// Launch Add New product ActivityIntent i = new Intent(getApplicationContext(),NewProductActivity.class);// Closing all previous activitiesi.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);startActivity(i);}} catch (JSONException e) {e.printStackTrace();}return null;}/*** After completing background task Dismiss the progress dialog* **/protected void onPostExecute(String file_url) {// dismiss the dialog after getting all productspDialog.dismiss();// updating UI from Background ThreadrunOnUiThread(new Runnable() {public void run() {/*** Updating parsed JSON data into ListView* */ListAdapter adapter = new SimpleAdapter(AllProductsActivity.this, productsList,R.layout.list_item, new String[] { TAG_PID,TAG_NAME},new int[] { R.id.pid, R.id.name });// updating listviewsetListAdapter(adapter);}});}}
}

app效果展示
这里写图片描述


http://chatgpt.dhexx.cn/article/PpDOkcwo.shtml

相关文章

手机app开发(新手教程)

咳咳&#xff5e;好久不见亲们。估计你们已经忘了我的存在了吧。小编表示很伤心&#x1f494;。唉没办法最近事情有点多&#xff08;实则就是太懒&#xff0c;不想跟新&#xff09;。不过今天我先跟大家分享的是我最近研究的新方向。手机app开发。感兴趣的朋友欢迎点赞关注。小…

超详细图文保姆级教程:App开发新手入门(三)

重要&#xff1a; 想学习APP开发的新手同学&#xff0c; 建议访问我发布的最新版本的文章教程 【2023最新】超详细图文保姆级教程&#xff1a;App开发新手入门 上文我们已经完成了一个应用项目的导入、代码更新和代码提交&#xff0c;本章继续讲述一下&#xff0c;如何在开发过…

超详细图文保姆级教程:App开发新手入门(五)

重要&#xff1a; 想学习APP开发的新手同学&#xff0c; 建议访问我发布的最新版本的文章教程 【2023最新】超详细图文保姆级教程&#xff1a;App开发新手入门 上文回顾&#xff0c;我们已经完成了一个应用的版本编译&#xff0c;本章我们来了解一下如何引入APICloud的原生模块…

超详细图文保姆级教程:App开发新手入门(一)

重要&#xff1a; 想学习APP开发的新手同学&#xff0c; 建议访问我发布的最新版本的文章教程 【2023最新】超详细图文保姆级教程&#xff1a;App开发新手入门 1. 关于APICloud PS: 本段内容主要目的是去除官方语音描述&#xff0c;用通俗的语言来简单介绍一下APICloud&#x…

大数据的数据科学与关键技术是什么?

对于大数据想必大家都有所了解了吧&#xff1f;随着信息化的不断发展&#xff0c;大数据也越来越被人们所熟知。我们都知道&#xff0c;现在很多行业都离不开数据分析&#xff0c;在数据分析中我们有听说了大数据&#xff0c;大数据涉及到了很多的行业&#xff0c;一般来说&…

大数据的相关技术

架构、采集、存储、计算处理和可视化等 架构设计技术: Flume、Zookeeper和Kafka采集技术: Python和Scala存储技术&#xff1a;Hbase、Hive、Sqoop计算技术: Mahout、Spark和Storm可视化技术: Echart和Superset 大数据技术是一系列使用非传统的工具来对大量的结构化、半…

大数据分析,主要运用了哪些关键技术?

古代&#xff0c;人们用牛来拉重物&#xff0c;当一头牛拉不动一根圆木时&#xff0c;他们不曾想过培育更大更壮的牛。同样&#xff0c;在面对计算能力不足时&#xff0c;我们也应尝试着结合使用更多的计算机系统。 Hadoop就是基于这样的理念设计。Hadoop是一个由Apache基金会…

巨龙信息大数据集成系统 多元数据汇聚的一站式集成治理

巨龙大数据集成系统以20多年数据治理实践为基础&#xff0c;自主研发&#xff0c;兼容适配信创&#xff0c;为海量异构数据的超大规模数据仓库建设&#xff0c;提供抽取、清洗、整合、入库等一站式集成服务&#xff0c;帮助高效开展数据治理&#xff0c;助力数字化转型。 产品…

大数据相关技术介绍

基础&#xff1a;常用算法与数据结构、HTML、CSS、JavaScript 操作系统&#xff1a;Linux 编程语言&#xff1a; Java&#xff1a;IO模型、网络编程、多线程、内存管理机制等基础知识|熟悉缓存、消息队列、索引查询|高并发、高负载、高可用系统的设计开发及调优 Java Web项…

大数据关键技术探讨

大数据技术&#xff0c;就是从各种类型的数据中快速获得有价值信息的技术。大数据领域已经涌现出了大量新的技术&#xff0c;它们成为大数据采集、存储、处理和呈现的有力武器。 大数据处理关键技术一般包括&#xff1a;大数据采集、大数据预处理、大数据存储及管理、大数据分析…

一文全面掌握大数据关联与汇聚

云智慧 AIOps 社区是由云智慧发起&#xff0c;针对运维业务场景&#xff0c;提供算法、算力、数据集整体的服务体系及智能运维业务场景的解决方案交流社区。该社区致力于传播 AIOps 技术&#xff0c;旨在与各行业客户、用户、研究者和开发者们共同解决智能运维行业技术难题&…

大数据世界中的新技术

大数据世界正在以前所未有的方式发生着变化&#xff0c;特别是企业将数据整合到一起并将其应用到业务的情况下。而企业都面临的挑战是能够发现、识别并带来构建产品、提供服务和了解客户所需的数据。数据集成本身几十年来一直是一种实践和挑战。然而&#xff0c;新的工具和流程…

大数据分析与应用技术创新平台

原文链接&#xff1a;https://mp.weixin.qq.com/s/kCDYOInF8KjHstIMAWSljA 大数据分析与应用技术创新平台 张平文, 鄂维南, 袁晓如, 傅毅明 北京大学数学科学学院&#xff0c;北京 100871 北京大学大数据科学研究中心&#xff0c;北京 100871 北京大学信息科学技术学院&am…

大数据关键技术

大数据技术&#xff0c;就是从各种类型的数据中快速获得有价值信息的技术。大数据领域已经涌现出了大量新的技术&#xff0c;它们成为大数据采集、存储、处理和呈现的有力武器。 大数据处理关键技术一般包括&#xff1a;大数据采集、大数据预处理、大数据存储及管理、大数据分…

数据整理——大数据治理的关键技术

摘要&#xff1a;数据是政府、企业和机构的重要资源。数据治理关注数据资源有效利用的众多方面&#xff0c;如数据资产确权、数据管理、数据开放共享、数据隐私保护等。从数据管理的角度&#xff0c;探讨了数据治理中的一项关键技术&#xff1a;数据整理。介绍了以数据拥有者和…

【学习】大数据关键技术

学习内容描述&#xff1a; 大数据涉及的四个环节是什么&#xff1f; 云计算服务的三种服务类型是什么&#xff1f; 重点知识&#xff1a; 大数据涉及的四个环节&#xff1a;1、数据采集&#xff1b;2、数据存储&#xff1b;3、数据管理&#xff1b;4、数据分析与挖掘。云计算…

大数据的关键技术与综述

在大数据时代&#xff0c;传统的数据处理方法还适用吗&#xff1f; 大数据环境下的数据处理需求 大数据环境下数据来源非常丰富且数据类型多样&#xff0c;存储和分析挖掘的数据量庞大&#xff0c;对数据展现的要求较高&#xff0c;并且很看重数据处理的高效性和可用性。 传统数…

大数据治理关键技术解析

转载本文需注明出处&#xff1a;微信公众号EAWorld&#xff0c;违者必究。 在企业数据建设过程中&#xff0c;大数据治理受到越来越多的重视。从企业数据资产管理和提升数据质量&#xff0c;到自服务和智能化的数据应用&#xff0c;大数据治理的内容在不断地发展和完善&#xf…

大数据的关键技术(二)

七、数据清洗技术 &#xff08;1&#xff09; 数据仓库中的数据是面向某一主题的数据的集合&#xff0c;这些数据从多个业务系统中抽取而来且包含历史 数据&#xff0c;这样就避免不了有的数据是错误数据、有的数据相互之间有冲突&#xff0c;这些错误的或有冲突的数据显 然是我…

大数据的关键技术

在大数据时代&#xff0c;传统的数据处理方法还适用吗&#xff1f; 大数据环境下的数据处理需求 大数据环境下数据来源非常丰富且数据类型多样&#xff0c;存储和分析挖掘的数据量庞大&#xff0c;对数据展现的要求较高&#xff0c;并且很看重数据处理的高效性和可用性。 传…