程序猿日常
记Android项目引入Apollo(阿波罗)
上源码
apollo开发分支
应用
Apollo(阿波罗)客户端会管理好应用的后台GraphQL数据
之前网络请求使用Retrofit+OkHttp
 改成使用Apollo+OkHttp
引入
1.对应的module的build.gradle中添加
id("com.apollographql.apollo3").version("3.8.0")
2.对应的module的build.gradle中添加配置
packageName 指定apollo文件目录以及自动生成类的包名
apollo {
	service("service") {
    	// 修改packageName 需配置proguard
    	packageName.set("com.lang.rocketreserver")
	}
}
使用
1.需要在对应的module的main文件夹下需要存在graphql文件夹,以及packageName配置的包名结构,文件夹中需存在schema.graphqls

schema.graphqls文件从哪里来?
 两种办法:1.目录结构自己构建,将schema.graphqls下载后放进对应文件夹中;2.通过命令自动生成目录结构和schema.graphqls文件
命令自动生成
1.打开测试的graphql服务官网提供的graphql服务
 2.复制接口地址
 
 3.使用命令
 ./gradlew :对应的module名称:downloadApolloSchema --endpoint=接口地址 --schema=对应的module名称/src/main/graphql/apollo配置的包名/schema.graphqls
./gradlew :AndlangApollo:downloadApolloSchema --endpoint='https://apollo-fullstack-tutorial.herokuapp.com/graphql' --schema=AndlangApollo/src/main/graphql/com/lang/rocketreserver/schema.graphqls
注意:需要java11环境运行该命令,需要对应的modlue名称
 4.查询与修改需要编写graphql文件 编写语法这里不赘述了,如下查询例子:
query Query($launchId: ID!) {
  launch(id: $launchId) {
    id
    isBooked
    mission {
      missionPatch
      name
    }
    rocket {
      id
      name
      type
    }
    site
  }
}
优点
1.不用一个一个写接口地址
 2.不用一个一个建立bean
 3.可以快速和后台接口同步
 4.使用简单方便
缺点
。。。。。。



















